struct如何快速初始化
时间: 2023-07-07 07:35:32 浏览: 125
C语言中结构体(struct)的几种初始化方法
在C++11标准中,可以使用花括号 `{}` 进行快速初始化,也称为列表初始化,可以用于结构体(struct)、类(class)等复杂数据类型的初始化,甚至可以用于数组的初始化。
例如,我们定义了一个结构体:
```c++
struct Person {
std::string name;
int age;
std::string address;
};
```
使用快速初始化的方法,可以这样进行初始化:
```c++
Person p1 {"Tom", 18, "Beijing"};
Person p2 = {"Jerry", 20, "Shanghai"};
Person p3 {"Alice", 25}; // 可以省略某些成员的初始化
```
这里使用花括号 `{}` 对结构体进行了初始化,分别指定了结构体的 `name`、`age` 和 `address` 成员的值。如果某些成员的值未指定,则默认初始化为0或空字符串。
需要注意的是,使用快速初始化时,如果成员变量的顺序与结构体定义的顺序不同,也需要用对应的成员变量名进行初始化,例如:
```c++
Person p4 {25, "Jack", "Chengdu"}; // 错误,成员变量顺序不一致
Person p5 {name="Peter", address="Guangzhou", age=30}; // 正确,使用成员变量名初始化
```
使用花括号 `{}` 进行快速初始化的方法不仅简洁方便,而且能够避免一些错误,建议在实际开发中使用。
阅读全文