gpt4 book ai didi

c++ - 使用单例类的最有效方式

转载 作者:行者123 更新时间:2023-11-30 00:57:06 26 4
gpt4 key购买 nike

在 C++ 中,我使用单例类并引用另一个类中的唯一实例。我想知道访问此实例的最有效方法是什么,因为它是一个大型数据结构。我考虑了这些事情。

  1. 从单例类获取引用,而不是按值传递数据结构
  2. 在我的第二个使用单例类的类中使用全局实例:

    Singleton* singleInstance;

    SingletonUser::SingletonUser ()
    {
    singleInstance = Singleton::getInstance(); //passes the single instance by reference, then it will be used in the class wherever needed
    }
  3. 在第二个类的函数内做同样的事情,这样我就可以在需要时获得对单例类实例的引用(需要在多个函数中多次访问它)。

    <

我不确定哪种做法最好。有人可以解释一下吗,如果有更有效的方法,也可以解释一下吗?

谢谢!

最佳答案

如果您按值传递单例实例,那么它就不是真正的单例,对吗?

当您需要访问实例时,只需返回一个实例的引用(或指针)(#1)。为每个客户端缓存一次引用只会增加复杂性,而且几乎肯定不会更快。

除了增加了复杂性之外,我不确定 #1 和 #3 之间的区别是什么。两者都使用函数通过引用/指针访问单例实例。

关于c++ - 使用单例类的最有效方式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9042896/

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