簡體   English   中英

C ++ std移動文件錯誤?

[英]C++ std move document error?

這是我要參考的文檔 兩種形式都有r值參考作為輸入( T&& t )。

但是我們可以將l值作為move參數,在我的下面的示例中,a是一個l值,它是可識別且可尋址的。

有沒有想到文件是錯誤的?

#include <iostream>

int main() {
    string a = "hello";
    string b(std::move(a));
    std::cout << "a is: " << a << endl;
    std::cout << "b is: " << b << endl;
}

輸出,

a is: 
b is: hello

T&& t不是r值參考。 它是前向引用,以前稱為通用引用,是與模板或自動參數一起使用時的特殊情況。 在這里閱讀這個很好的解釋https://isocpp.org/blog/2012/11/universal-references-in-c11-scott-meyers

暫無
暫無

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

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