C++11引入了列表初始化特性,它允许我们使用一对大括号来初始化数组、容器和结构体等对象。列表初始化的语法如下:

type variable {value1, value2, ...};

其中,type是变量的类型,variable是变量的名字,value1, value2等是初始化的值。

列表初始化的特点包括:

  1. 可以在定义变量时进行初始化;
  2. 可以用于数组、容器和结构体等对象的初始化;
  3. 可以省略等号(=);
  4. 可以省略对象类型的构造函数。

下面是一些示例:

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};

列表初始化可以增加代码的可读性和简洁性,尤其是在初始化容器和结构体等复杂对象时。

c++ 11新特性 列表初始化

原文地址: https://www.cveoy.top/t/topic/i7eh 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录