移动语义(move semantics)和完美转发(perfect forwarding)是C++引入的的两个新特性。
移动语义允许编译器将昂贵的拷贝操作替换为开销较小的移动操作。
完美转发允许被转发函数接收与转发函数一模一样的函数参数。
而右值引用是以上特性的基础。
ITEM 23: 理解std::move和std::forward
与移动语义和完美转发相关的两个基础函数是std::move和std::forward。这两个函数都是编译期操作,不产生任何运行期overhead。需要注意的是,std::move并不移动任何东西,std::forward也不转发任何东西。
【🚧施工中🚧】
本文是对 "Effective Modern C++" 的学习心得,记录过程中方便起见,除了对原文整段文章的复制引用,对一些单词,短句或翻译不做引用处理。如有问题,还请联系改正。