读书频道 > 网站 > 网页设计 > 深入应用C++11:代码优化与工程级应用
1.3 列表初始化
15-07-07    下载编辑
收藏    我要投稿   
在StackOverflow的最近一次世界性调查中,C++11在所有的编程语言中排名第二, C++11受到程序员的追捧是毫不意外的,因为它就像C++之父Bjarne Stroustrup说的:它看起来就像一门新的语言。C++11新增加了相当多的立即去当当网订购

我们知道,在C++98/03中的对象初始化方法有很多种,如代码清单1-7所示。

代码清单1-7 对象初始化示例

// initializer list
int i_arr[3] = { 1, 2, 3 }; // 普通数组

struct A
{
   int x;
   struct B
   {
      int i;
      int j;
   } b;
} a = { 1, { 2, 3 } };  // POD 类型

// 拷贝初始化(copy-initialization)

int i = 0;

class Foo
{
public:
   Foo(int) {}
} foo = 123;   // 需要拷贝构造函数

// 直接初始化(direct-initialization)
int j(0);
Foo bar(123);

这些不同的初始化方法,都有各自的适用范围和作用。最关键的是,这些种类繁多的初始化方法,没有一种可以通用所有情况。

为了统一初始化方式,并且让初始化行为具有确定的效果,C++11中提出了列表初始化(List-initialization)的概念。

点击复制链接 与好友分享!回本站首页
分享到: 更多
您对本文章有什么意见或着疑问吗?请到论坛讨论您的关注和建议是我们前行的参考和动力  
上一篇:1.3 功能
下一篇:1.5 小结
相关文章
图文推荐
JavaScript网页动画设
1.9 响应式
1.8 登陆页式
1.7 主题式
排行
热门
文章
下载
读书

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训
版权所有: 红黑联盟--致力于做最好的IT技术学习网站