1. 一致性初始化(Uniform Initialization)与初值列(Initialization list)
C++11 引入了一致性初始化概念,意思是面对任何初始化动作,你都可以使用相同的语法,也就是使用大括号,以下皆成立
int values[] {1,2,3};
std::vector<int> v{1,2,3};
std::vector<std::string> cities { "China","London"};
初值列(initializer list)会强迫造成初始化
int i; // i has undefined value;
int j{}; // j is initialized by 0;
int *p; // p has undefined value;
int * q{}; // q is initialized by nullptr;