这种情况主要在于:一个对象的初始化要靠另一个对象的初始化。
非局部静态对象:
定义在全局或者名字空间范围内的对象
在一个类中被声明为static的对象
在一个文件范围内被定义为static。
做法:
可以返回局部静态对象的引用来达到初始化的目的。
如:
class A
{
public:
A& a_static()
{
static A a;
return a;
}
}
这种情况主要在于:一个对象的初始化要靠另一个对象的初始化。
非局部静态对象:
定义在全局或者名字空间范围内的对象
在一个类中被声明为static的对象
在一个文件范围内被定义为static。
做法:
可以返回局部静态对象的引用来达到初始化的目的。
如:
class A
{
public:
A& a_static()
{
static A a;
return a;
}
}