单身中的一切都可以是静态的吗?

Der*_*rek 3 c++ singleton static

在C++中,单例中的所有成员都可以是静态的,还是尽可能的?我的想法是,无论如何全球只有一个例子.

在搜索时我确实在C#中找到了很多关于静态类的讨论,但对此并不熟悉.想了解它.

无论你有什么想法,请评论.

goj*_*oji 6

使用静态单例时,您无法控制何时分配和构造单个单元.这使你受静态变量的构造规则的c ++顺序的支配,所以如果你碰巧在构造另一个静态变量期间调用这个单一,那么单个可能还不存在.

如果你没有打算从另一个静态变量的构造函数中调用单例,并且不希望因任何原因而延迟构造,那么对单例使用静态变量就没问题了.

有关详细信息,请参阅静态变量初始化顺序.