C++11新特性

强类型枚举

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


C++11新特性_第1张图片
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末尾构造对象。
使用这个函数对于构造和析构比较耗时的对象差别明显。

你可能感兴趣的:(C++11新特性)