簡體   English   中英

轉到 function 參考參數是否有意義

[英]Does it make sense to move onto function reference param

void foo(const std::string& str);
foo(std::move(localstr));

如果我知道我不再使用這個字符串,如果 function 需要參考,我會通過移動它獲得任何收益嗎?

總的來說,現在關於 web 有很多建議可以通過值使用參數來從移動中獲得收益,但到目前為止我還沒有真正找到任何實際用途。 對我來說,我似乎最好將我的函數聲明為 const 或非 const 引用。

如果變量是 std 字符串,則在 API 更改之前,將其移動到那里不會做任何事情。

如果可以將變量轉換為 std 字符串,則如果存在右值轉換構造函數,則移動它可能會更有效。

std move 是對右值引用的強制轉換,實際上並不移動。 它允許代碼移動它,但只有在該提議被接受時才會發生。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM