簡體   English   中英

const 引用如何綁定到右值

[英]How const reference bound to rvalue

我看過很多關於將 const 引用綁定到右值的常見問題解答帖子。 有人說是因為系統生成了一個臨時的 object 供參考綁定,也有人說這只是一個抽象的系統規則,可能並沒有真正做到這一點。 那么我應該跟隨哪一方呢? 有人可以解釋一下將 const 引用綁定到右值的真正機制,或者只是簡單地給我找一個相關的並確認准確的鏈接。 提前謝謝了!!

兩者都是正確的。 你必須明白C ++是一種抽象。 您的計算機執行的代碼看起來不像它。

當您將臨時綁定到const引用時,您可以想象各種C ++機制來表示編譯器如何使其工作。 或者你可以接受它確實有效,並且你的編譯器是一個黑盒子,你不需要推理它的內部。 無論出於何種意圖和目的,這兩者都難以區分 這就是構建模型的重點。

如果您確實非常非常想知道特定編譯器在某些情況下如何實現特定代碼,那么您必須成為該編譯器源代碼的專家。 這是一個令人難以置信的高級主題,通常世界上只有少數人了解編譯器在做什么。 通常不值得成為其中之一所需的時間和投資。 1

1雖然我確信他們會非常感謝你的額外幫助! 畢竟,他們最終還是需要“通過火炬傳遞”。

Herb Sutter 寫了一篇關於 const reference to rvalue 的好文章, 這里是鏈接。

暫無
暫無

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

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