C++11中怎么使用大括号包围的值列表赋值

本篇内容主要讲解“C++11中怎么使用大括号包围的值列表赋值”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“C++11中怎么使用大括号包围的值列表赋值”吧!

C++11新特性(2)- 列表初始化

除了初始化之外,这种形式也可以用于赋值语句中。先回顾一下初始化变量时的情况:

vector<int> vi{1, 2, 3, 4, 5};

接下来是赋值的情况:

vector<int> vi;

vi = {6, 7, 8, 9, 10};

这种形式,对于有限多个数值的赋值是非常有用的。

补充

和初始化一样,使用大括号包围的值列表也有同样的优势。一个是防止窄化,有时可以简单的理解为防止精度降低,例如下面的代码是无法编译通过的:

double pai = 3.1415926;

int pi;

pi = {pai};        //编译错误。

另外,如果大括号里的初始化列表为空,编译器会创建一个值初始化的临时量并赋值给赋值对象。

到此,相信大家对“C++11中怎么使用大括号包围的值列表赋值”有了更深的了解,不妨来实际操作一番吧!这里是亿速云网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!