Cai*_*mes 3 c++ initialization list-initialization
当我没有初始化所有项目时,我有一个关于初始化列表的问题。
假设我有以下代码:
class Example {
int a, b, c;
Example() : a(1), b(2), c(3) {}
}
Run Code Online (Sandbox Code Playgroud)
我知道成员初始化的顺序是由它们的声明顺序定义的,而不是由它们在初始化列表中列出的顺序定义的,但是,如果我在初始化列表中没有b,就像在下列的?
class Example {
int a, b, c;
Example() : a(1), c(2) {}
}
Run Code Online (Sandbox Code Playgroud)
a会被初始化为1,b会被初始化为未定义的值,c会被初始化为3吗?因为我没有严格按照我声明的顺序调用初始化列表,所以我会得到未定义的行为吗?或者这些都没有?
我问这个问题是因为我有一个包含大量数据的类,我想确保其中一些数据具有初始值,但我不需要初始化所有数据。