gpt4 book ai didi

C - 单例在模块内部还是外部实例化?

转载 作者:行者123 更新时间:2023-11-30 15:17:29 25 4
gpt4 key购买 nike

使用 C 模块时会施加哪些限制

  1. 实例化自己的核心struct(作为单例),用户代码使用extern访问它

VS。

  • 让用户代码实例化单例struct
  • 例如,前者的一个限制是用户无法选择分配方法。

    编辑 这个问题的原因是我用方法号碰壁了。 1 过去(C 语言限制)但现在已经忘记它们是什么了!

    最佳答案

    1. 如果您想绝对确保单例“保持单例”,请让模块处理其创建。

    2. 如果单例的实现细节应保持隐藏,您还希望让模块处理它,并且可以选择仅返回一个指向单例的内部 struct 的不透明指针,所以用户除了一个“句柄”之外什么也没有。然而,句柄不是必需的,因为它是单例:-)。

    关于C - 单例在模块内部还是外部实例化?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32435379/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com