C++11新增特性:列表初始化(std::initializer_list)& decltype、auto、nullptr、范围for
一、C++11新增统一初始化方式
1.1 新增方式
在C++98之前,{}一般被用于对数组或结构体元素的统一的列表初始值设定。
struct Date
{
int year;
int monday;
int day;
};
int main()
{
int arr[5] = {
1, 2 ,3, 4, 5 };
Date d = {
2024, 4 ,14 };
return 0;
}
C++11扩大了初始化列表的使用范围,可用于所有的内置类型和自定义类型的初始化。并且在使用初始化列表时,等号可省略!!
struct Date
{
int year;
int monday;
int day;
};
int main()
{
int arr[5]{
1, 2 ,3, 4, 5 };//省略等号
int i{
1 };//初始化列表初始化内置类型,等价于int i = 1;或int i = {1};
Date d