【发布时间】:2009-04-10 01:21:39
【问题描述】:
我最初写了一些这样的代码:
class Foo
{
public:
Foo() : m_buffer()
{}
private:
char m_buffer[1024];
};
比我聪明的人说,使用 m_buffer() 初始化程序会将内存清零。我的意图是让内存保持未初始化状态。我没有时间进一步讨论它,但它激起了我的好奇心。
以前,我认为总是在初始化列表中列出每个成员是明智的。
有人可以进一步描述这种行为吗?
1) 为什么空括号初始化器会填满内存?
2) 它仅适用于 POD 数据类型吗?听说是这样,但是手头没有标准。
谢谢
【问题讨论】:
-
“以这种方式行事”。哪一条路?请澄清。
-
完成——我指的是内存的填充
标签: c++ initialization standards