【发布时间】:2015-12-24 04:53:41
【问题描述】:
所以我有一个带有静态变量的类,它们是静态的原因是为了(虽然它可能看起来微不足道)效率(只需要加载一次,减少同一文件内存中存储的冗余)。
无论如何我想知道,有没有办法检查变量是否已加载?
或者有没有办法在第一次创建此类的实例时调用特定的构造函数,并在其他实例存在时使用另一个构造函数?
如果这些都不合适,解决办法是什么?
【问题讨论】:
-
静态成员变量在你的
main函数被调用之前被构造和初始化。如果main已经被调用,那么静态成员变量已经被“加载”了。 -
有一个用于高效代码设计的 SingleTon 设计模式,请通过这个:: sourcemaking.com/design_patterns/singleton/cpp/1
-
@Nishant_b9: ...然后把它当作一个糟糕的想法丢弃,忘记你曾经读过它。
-
感谢您的回复,@Joachim Pileborg 我不知道必须在调用
main之前设置静态成员变量,我在我的 .cpp 中初始化它们而没有值。 @Nishant 我知道 singelton 模式,但我觉得它在这里不适用,因为我仍然希望资源可以在需要时在不同实例之间进行更改。
标签: c++ performance processing-efficiency