相关疑难解决方法(0)

什么时候C++ POD类型被零初始化?

来自C背景,我一直认为POD类型(例如整数)从未在C++中自动进行零初始化,但似乎这是完全错误的!

我的理解是,只有'裸'非静态POD值不会被填零,如代码片段所示.我做对了,还有其他重要的案例我错过了吗?

static int a;

struct Foo { int a;};

void test()
{
  int b;     
  Foo f;
  int *c = new(int); 
  std::vector<int> d(1);

  // At this point...
  // a is zero
  // f.a is zero
  // *c is zero
  // d[0] is zero
  // ... BUT ... b is undefined     
}  
Run Code Online (Sandbox Code Playgroud)

c++ constructor initialization

15
推荐指数
1
解决办法
4876
查看次数

全局内存是用C++初始化的吗?

全局内存是用C++初始化的吗?如果是这样,怎么样?

(二)澄清:

当程序启动时,在初始化基元之前,内存空间中的内容将成为全局内存?我试图了解它是否被清零,或者例如垃圾.

情况是:可以instance()在初始化之前通过调用设置单例引用:

MySingleton* MySingleton::_instance = NULL;
Run Code Online (Sandbox Code Playgroud)

并获得两个单例实例?

在单个多个实例上查看我的C++测验...

c++ memory memory-management

13
推荐指数
3
解决办法
7082
查看次数