相关疑难解决方法(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++ ×1

constructor ×1

initialization ×1