深入浅出C++11之列表初始化

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 };
}

这 个好理解吧!其实也就是这些作用了,你按以前的写也没毛病,但是新的你也要知道!

猜你喜欢

转载自blog.csdn.net/kaizi318/article/details/108921000