Item29 Assume that move operations are not present,not cheap,and not used

这个系列的文章来自于Effective Modern C++的读书笔记,我抽取了其中比较重要的,不容易理解的,平常我们开发过程中也不太在意的一些Item进行分析。 ​ 在C++11新增的特性中,移动语义毫无疑问是最为重要的特性,有了这个特性后,对于STL容器的移动操作变的和拷贝一个指针一样高效。它允许编译器将那么昂亏的拷贝操作替换成高效的移动操作,将你的代码重新用C++11编译一遍后,你会发现你...
阅读(207) 评论(0)

Item28 Understand reference collapsing

这个系列的文章来自于Effective Modern C++的读书笔记,我抽取了其中比较重要的,不容易理解的,平常我们开发过程中也不太在意的一些Item进行分析。 ​ 在Item23中详细的介绍了std::move和std::forward的实现原理,并给出了std::move一种典型实现,但是在介绍std::forward的时候,我承认我偷懒了,我只是简单的提到std::forward类似st...
阅读(601) 评论(0)

Item27 Familiarize yourself with alternatives to overloading on universal references

这个系列的文章来自于Effective Modern C++的读书笔记,我抽取了其中比较重要的,不容易理解的,平常我们开发过程中也不太在意的一些Item进行分析。 ​ 在Item26中对通用引用进行重载的时候会导致各种各样的问题进行了详细的描述,但是这些重载在某些场合下的确很有用,比如构造函数的重载。导致这种问题出现的原因主要是因为重载函数的类型匹配规则(最佳匹配,模版总是能实例化出最m...
阅读(492) 评论(0)
    个人资料
    • 访问:77848次
    • 积分:1871
    • 等级:
    • 排名:千里之外
    • 原创:110篇
    • 转载:0篇
    • 译文:1篇
    • 评论:21条
    博客专栏
    最新评论