《Effective Modern C++》item 7:Distinguish between () and {} when creating objects


定义一个对象时,对其进行初始化

 

常见的初始化方式:  (), {}, =

等于号可能对应 复制构造函数:

c++ 11引入了通过{}来进行初始化的方式, braced initialization,作为一种通用的方式

{}可初始化std 容器中的初始值:

{}可初始化非静态成员变量的值

{}可初始化uncopyable objects,e.g, std::atomics

 item40: https://blog.csdn.net/qq_35865125/article/details/104101751

小总结:

使用{}初始化可以防止隐式类型转换

 

使用{}初始化可以区分 函数声明 和 使用无参构造函数时的变量定义

使用{}初始化的缺点:

发布了341 篇原创文章 · 获赞 87 · 访问量 22万+

猜你喜欢

转载自blog.csdn.net/qq_35865125/article/details/104045630
今日推荐