簡體   English   中英

命名右值引用“ref”是 xvalue 嗎?

[英]Is a named rvalue reference "ref" a xvalue?

如果 xvalues 是其生命周期結束時的值,如果不是左值或 xvalue(因為它不會過期並且是可移動的),那么命名的右值引用是什么?

仔細閱讀這部分:

在 C++11 中,表示:

  1. 有身份且不能被移動的稱為左值表達式;

  2. 具有身份並且可以從中移動的稱為 xvalue 表達式;

  3. 沒有身份並且可以從中移動的稱為prvalue(“純右值”)表達式;

  4. 沒有身份,不能從不使用[6]移動。

  • 具有同一性的表達式稱為“glvalue 表達式”(glvalue 代表“廣義左值”)。 lvalues 和 xvalues 都是 glvalue 表達式。

  • 可以從中移動的表達式稱為“右值表達式”。 prvalues 和 xvalues 都是右值表達式。

希望這能讓你更清楚這個話題。 但如果我沒記錯的話,這意味着命名的右值引用是一個xvalue ,因為它具有標識並且可以從中移動。

Go 到https://en.cppreference.com/w/cpp/language/value_category了解更多信息。

暫無
暫無

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

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