CPP11特性之统一初始化

C++11 引入了统一初始化(Uniform Initialization)语法,这使得对象的初始化更加一致和简洁。使用统一初始化,可以通过多种方式来初始化对象,无论是基本类型、类类型还是数组都可以使用相同的语法。

在 C++11 中,统一初始化有以下几种形式:

1
2
3
4
5
6
7
8
9
int x = 42;  // 直接初始化一个整数
std::string s("Hello"); // 直接初始化一个字符串对象

int y = x; // 使用拷贝初始化将 x 的值赋给 y
std::vector<int> v = {1, 2, 3}; // 使用拷贝初始化进行向量初始化

int z{123}; // 使用列表初始化一个整数
std::vector<int> nums{1, 2, 3}; // 使用列表初始化初始化一个向量
std::pair<int, double> p{42, 3.14}; // 使用列表初始化初始化一个键值对