我有像这样的结构
typedef struct sample
{
double x,
double y,
double z
}s1;
s1 s;
Run Code Online (Sandbox Code Playgroud)
s变量中的内容是否会被初始化?
x,y,z的值是多少?
谢谢
x,如果在函数范围内定义y,z则不会被初始化s.它们将包含一些未指定的值.在文件范围内,数据成员将初始化为其默认值.
但是,在C++中,您可以使用构造函数初始值设定项列表来初始化数据成员
例如
struct ABC
{
int x;
int y;
ABC(): x(1),y(2){}
};
ABC s; // x and y initialized to 1 and 2 respectively
Run Code Online (Sandbox Code Playgroud)
在C++中,您还可以使用默认初始化和值初始化来初始化数据成员.