在main()启动后,是否有一种方法可以初始化类的静态子对象?是否有一种懒惰初始化类的静态子对象?
0
A
回答
2
的一种方式做到这一点是取代静态成员数据,静态成员函数。
说你这个类:
class A
{
static B static_b; //static member data
};
//.cpp
B A::static_b; //definition (required)
所以不是可以定义你的类为:
class A
{
static B static_b() //static member function!
{
static B b;
return b;
}
};
注意,它不是线程安全的,但你可以把它也是线程安全的。
0
您可以使用指针此对象:
class SomeClass{
public:
static SomeOtherClass* p;
};
SomeOtherClass* SomeClass::p;
void main(){
SomeClass::p = new SomeOtherClass();
}
+0
但是这个分配必须手动销毁。我想避免这一点。 – Belloc 2012-02-19 12:25:16
相关问题
- 1. 懒属性初始化静态类C#
- 2. 静态对象初始化
- 3. 子类的静态类依赖对象初始化
- 4. 静态本地POD常量是如何初始化的?懒惰或不?
- 5. 懒惰的初始化和deinit
- 6. 对象静态成员的初始化
- 7. 懒惰初始化具有volatile变量的Singleton类
- 8. 初始化该类的静态对象的初始化之前是否保证了类的静态成员的初始化?
- 9. 懒惰初始化不起作用iPhone
- 10. 记忆与懒惰初始化/评估
- 11. Nhibernate-懒惰加载初始化失败
- 12. 多线程懒惰初始化
- 13. C#懒惰初始化&&比赛初始化?
- 14. Javascript对象 - '静态初始化'
- 15. 是否可以在C++的类中初始化静态常量成员对象?
- 16. 在多线程情况下懒惰地初始化静态变量
- 17. XamlParseException初始化一个静态类
- 18. 测试grails属性是懒惰还是未初始化?
- 19. 静态局部变量和静态局部对象初始化
- 20. 是否有一种方法可以懒散地初始化哈希值?
- 21. 静态初始化
- 22. 工厂类与对象初始化 - 试图避免静态
- 23. 如何在C++中初始化静态类对象?
- 24. 如何把这种静态初始化成一个动态的
- 25. Hibernate没有检查初始化懒惰实体吗?
- 26. 静态类是否可以包含实例初始化块?
- 27. Hibernate LazyInitializationException:未能懒惰地初始化一个角色集合
- 28. 使用子类对象初始化的多态基类对象的数组
- 29. .NET中的静态类初始化
- 30. 内部类的静态初始化器?
你是什么意思*静态子对象*?你的意思是*静态成员*? – Nawaz 2012-02-19 12:18:51
是一个静态成员,它是嵌入类的对象 – Belloc 2012-02-19 12:20:54