diff --git a/5.RRefMovSemPerfForw/item23.html b/5.RRefMovSemPerfForw/item23.html index 44be97d..b3bc066 100644 --- a/5.RRefMovSemPerfForw/item23.html +++ b/5.RRefMovSemPerfForw/item23.html @@ -153,7 +153,7 @@
在本章的这些小节中,非常重要的一点是要牢记形参永远是左值,即使它的类型是一个右值引用。比如,假设
void f(Widget&& w);
-形参w
是一个左值,即使它的类型是一个rvalue-reference-to-Widget
。(如果这里震惊到你了,请重新回顾从本书简介开始的关于左值和右值的总览。)
形参w
是一个左值,即使它的类型是一个rvalue-reference-to-Widget
。(如果这里震惊到你了,请重新回顾从本书简介开始的关于左值和右值的总览。)
std::move
和std::forward
Item 23: Understand std::move
and std::forward
为了了解std::move
和std::forward
,一种有用的方式是从它们不做什么这个角度来了解它们。std::move
不移动(move)任何东西,std::forward
也不转发(forward)任何东西。在运行时,它们不做任何事情。它们不产生任何可执行代码,一字节也没有。
在本章的这些小节中,非常重要的一点是要牢记形参永远是左值,即使它的类型是一个右值引用。比如,假设
void f(Widget&& w);
-形参w
是一个左值,即使它的类型是一个rvalue-reference-to-Widget
。(如果这里震惊到你了,请重新回顾从本书简介开始的关于左值和右值的总览。)
形参w
是一个左值,即使它的类型是一个rvalue-reference-to-Widget
。(如果这里震惊到你了,请重新回顾从本书简介开始的关于左值和右值的总览。)
std::move
和std::forward
Item 23: Understand std::move
and std::forward
为了了解std::move
和std::forward
,一种有用的方式是从它们不做什么这个角度来了解它们。std::move
不移动(move)任何东西,std::forward
也不转发(forward)任何东西。在运行时,它们不做任何事情。它们不产生任何可执行代码,一字节也没有。