美文网首页
C++11新特性

C++11新特性

作者: xiaojuna | 来源:发表于2017-08-17 18:17 被阅读0次

    强类型枚举

    在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末尾构造对象。
    使用这个函数对于构造和析构比较耗时的对象差别明显。

    相关文章

      网友评论

          本文标题:C++11新特性

          本文链接:https://www.haomeiwen.com/subject/ayynrxtx.html