更多C++学习笔记,关注 wx公众号:cpp读书笔记
Item 24: Distinguish universal references from rvalue references
据说,真相使人自由,然而在特定的环境下,一个精心挑选的谎言也同样使人解放。这一条款就是这样一个谎言。因为我们在和软件打交道,然而,让我们避开“谎言(lie)”这个词,不妨说,本条款包含了一种“抽象(abstraction)”。
为了声明一个指向某个类型T
的右值引用,你写下了T&&
。由此,一个合理的假设是,当你看到一个“T&&
”出现在源码中,你看到的是一个右值引用。唉,事情并不如此简单:
void f(Widget&& param