From 873ca670ac875a5bd66e0665d095241de7c29834 Mon Sep 17 00:00:00 2001 From: wendajiang Date: Mon, 5 Sep 2022 08:24:07 +0000 Subject: [PATCH] deploy: fcd6fce86f2e2d28d228bcc860dd2850fce19e33 --- 5.RRefMovSemPerfForw/item23.html | 2 +- print.html | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) 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::movestd::forward

Item 23: Understand std::move and std::forward

为了了解std::movestd::forward,一种有用的方式是从它们不做什么这个角度来了解它们。std::move不移动(move)任何东西,std::forward也不转发(forward)任何东西。在运行时,它们不做任何事情。它们不产生任何可执行代码,一字节也没有。

diff --git a/print.html b/print.html index f6890bd..6098f90 100644 --- a/print.html +++ b/print.html @@ -3235,7 +3235,7 @@ w1 = std::move(w2); //移动赋值w1

在本章的这些小节中,非常重要的一点是要牢记形参永远是左值,即使它的类型是一个右值引用。比如,假设

void f(Widget&& w);
 
-

形参w是一个左值,即使它的类型是一个rvalue-reference-to-Widget。(如果这里震惊到你了,请重新回顾从本书简介开始的关于左值和右值的总览。)

+

形参w是一个左值,即使它的类型是一个rvalue-reference-to-Widget。(如果这里震惊到你了,请重新回顾从本书简介开始的关于左值和右值的总览。)

条款二十三:理解std::movestd::forward

Item 23: Understand std::move and std::forward

为了了解std::movestd::forward,一种有用的方式是从它们不做什么这个角度来了解它们。std::move不移动(move)任何东西,std::forward也不转发(forward)任何东西。在运行时,它们不做任何事情。它们不产生任何可执行代码,一字节也没有。