c++ 11新特性 列表初始化
C++11引入了列表初始化特性,它允许我们使用一对大括号来初始化数组、容器和结构体等对象。列表初始化的语法如下:
type variable {value1, value2, ...};
其中,type是变量的类型,variable是变量的名字,value1, value2等是初始化的值。
列表初始化的特点包括:
- 可以在定义变量时进行初始化;
- 可以用于数组、容器和结构体等对象的初始化;
- 可以省略等号(=);
- 可以省略对象类型的构造函数。
下面是一些示例:
int arr[] {1, 2, 3}; // 使用列表初始化初始化数组
std::vector<int> vec{4, 5, 6}; // 使用列表初始化初始化容器
struct Person {
std::string name;
int age;
};
Person p{"John", 25}; // 使用列表初始化初始化结构体
// 使用列表初始化初始化类的对象
class MyClass {
public:
MyClass(int x, int y) : a(x), b(y) {}
private:
int a;
int b;
};
MyClass obj{1, 2};
列表初始化可以增加代码的可读性和简洁性,尤其是在初始化容器和结构体等复杂对象时。
原文地址: https://www.cveoy.top/t/topic/i7eh 著作权归作者所有。请勿转载和采集!