列表初始化

在c++98/03中,只有普通数组和POD类型才能用列表初始化,比如

int array[3] = {1,2,3};
struct A
{
    int x;
    int y;
}a = {1,2};

在C++11中,适用性被大大增加。比如:

  • vector,map等容器的列表初始化
  • new动态数组的列表初始化
  • 函数返回值的列表初始化
  • 使用初始值列表作为赋值语句的右侧对象
int * a = new int{1,2,3};
pair<int,int> func(int a,int b)
{
    return {a,b}; //返回值
}
vector<int> vec = {1,2,3}; //列表初始化
vector<int> test;
test = {1,2,3}; //赋值语句
vector<vector<int>> matrix;
matrix.push_back({1,2,3,4});//追加一个vec元素
原文地址:https://www.cnblogs.com/raichen/p/5694029.html