C++ C++;通过默认c'进行pod初始化;托尔

C++ C++;通过默认c'进行pod初始化;托尔,c++,standards,C++,Standards,以这个豆荚为例: struct T { int i; char c; }; C++标准是POD成员通过默认Cor引入初始化的要求(或者从开始时的标准开始)?< /P> 是的,这意味着如果没有用户指定的c'tor,'i'和'c'都将初始化为0。 看我不知道我是否正确理解了你的问题 这意味着如果没有用户指定的c'tor,'i'和'c'都将初始化为0 不一定 例如: T x; // `i` and `c` are uninitialized T *ptr = new T; // `i

以这个豆荚为例:

struct T
{
   int i;
   char c;
};

C++标准是POD成员通过默认Cor引入初始化的要求(或者从开始时的标准开始)?< /P> 是的,这意味着如果没有用户指定的c'tor,'i'和'c'都将初始化为0。


我不知道我是否正确理解了你的问题

这意味着如果没有用户指定的c'tor,'i'和'c'都将初始化为0

不一定

例如:

T x; // `i` and `c` are uninitialized

T *ptr = new T; // `i` and `c` are uninitialized
T *pptr = new T(); //`i` and `c` are zero initialized as `T()` implies value initialization

T x(); // x is a function returning a type T and taking no arguments.

准确地说,
值初始化
(C++03部分$8.5/5)是您需要的。它是在C++03中引入的。

您所说的是正确的“值初始化”。它是在C++03中引入的(定义见§8.5/5,如果您想查看详细信息)