摘要: C++11 引入了右值引用,本文从实用角度出发,用尽量通俗易懂的语言讲清左右值引用的原理,性能分析及其应用场景,帮助大家在日常编程中用好右值引用和 std::move。 一、什么是左值、右值 首先不考虑引用以减少干扰,可以从 2 个角度判断:左值可以取地址、位于等号左边;而右值没法取地址,位于等号右 阅读全文
posted @ 2021-04-21 21:24 fengMisaka 阅读(1034) 评论(0) 推荐(0) 编辑
摘要: 五、技巧 当设计 C++软件时, 总会再三地受到一些问题的困扰。 你如何让构造函数和非成员函数具有虚拟函数的特点? 你如何限制一个类的实例的数量? 你如何防止在堆中建立对象呢?你如何又能确保把对象建立在堆中呢?其它一些类的成员函数无论何时被调用, 你如何能建立一个对象并让它自动地完成一些操作?你如何 阅读全文
posted @ 2021-04-21 19:04 fengMisaka 阅读(263) 评论(0) 推荐(0) 编辑
摘要: 四、效率 本章的内容从两个角度阐述效率的问题。第一是从语言独立的角度,关注那些你能在任何语言里都能使用的东西。C++ 为它们提供了特别吸引人的实现途径,因为它对封装的支持非常好,从而能够用更好的算法与数据结构来替代低效的类似实现,同时接口可以保持不变。 第二是关注 C++ 语言本身。高性能的算法与数 阅读全文
posted @ 2021-04-21 19:03 fengMisaka 阅读(604) 评论(1) 推荐(0) 编辑