一、统一的列表初始化
1.{}初始化
在C++98标准中,允许使用花括号{}对数组或者结构体元素进行统一的列表初始值设定
int array1[] = {
1, 2, 3, 4, 5 };
struct Point
{
int _x;
int _y;
};
Point p = {
1, 2 };
C++11扩大了用大括号括起的列表(初始化列表)的使用范围
使其可用于所有的内置类型和用户自定义的类型,使用初始化列表时,可添加等号(=),也可不添加
创建对象时也可以使用列表初始化方式调用构造函数初始化
struct Point
{
int _x;
int _y;
};
class Date
{
public:
Date(int year, int month, int day)
:_year(year)
, _month(month)
, _day(day)
{
cout << "Date(int year, int month, int day)" << endl;
}
private:
int _year;
int _month;
int _day;
};
int main()
{
int x1 = 1;
int x2{
2 };
int array1[]{
1, 2, 3, 4, 5 };
int array2[5]{
0 };
//结构体
Point p{
1, 2 };
//new表达式