c++11为什么要引入这个东西?它的作用与好处是什么?
其实:目的是为了代码更简洁,不是为了解决什么问题!也就是让你可以代码可以写得更少,而又达到同样的功能!
统一初始化方式!
example:
以前我们定义一个对象,初使化成员变量如下:
class testabc
{
public:
int x;
int y;
};
testabc test;
text.x = 0;
test.y = 0;
或者写一个构造函数
class testabc
{
public:
int x;
int y;
testabc(int _x, int _y)
{
x = _x;
y = _y;
}
};
testabc test(0,0);
而现在呢,以没有写构造函数的为例:
testabc test={0,0}; 这个{}里的东西就叫初使化列表!
举例现在的新写法
int* a = new int { 1 };
double b = double { 1.1 };
int* int arr = new int[3] { 1, 2, 3 };
int aaaaaaa = { 13 };
int bbbbbbbbbb{ 13 };
接上面的excample testabc类,现在还支持这么写,堆上动态分配的数组终于也可以使用初始化列表进行初始化!
testabc getobj()
{
return { 0,0 };
}
这 个好理解吧!其实也就是这些作用了,你按以前的写也没毛病,但是新的你也要知道!