C++11新特性

强类型枚举

在C++11之前,枚举类型全局可见,两种枚举之间不可以叫相同名称。而C++11中不同枚举类型内部不会互相影响,可以叫同一个名称。


C11enum

图中,C++11type的两个枚举MyEnum0和MyEnum1都可以有E1类型。
C++97type的MyEnum2和MyEnum3中的E1互相影响,无法编译。

emplace和emplace_back函数

emplace中文意思为“安置,安放”。
在vector的最后添加一个元素可以有push_back和emplace_back。
其差别在于,push_back会在内存某个位置构造该对象,然后vector末尾拷贝临时对象,最后临时对象销毁。
emplace_back直接在vector末尾构造对象。
使用这个函数对于构造和析构比较耗时的对象差别明显。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容