首頁 >後端開發 >C++ >`const Foo&&` 右值引用什麼時候有用?

`const Foo&&` 右值引用什麼時候有用?

DDD
DDD原創
2024-12-09 19:00:22582瀏覽

When Are `const Foo&&` Rvalue References Useful?

對Const 的右值引用:實用視角

儘管人們普遍認為對const (const Foo&&) 的右值引用沒有任何用處,但確實是它們的實際應用,正如C 0x 草案所證明的那樣

C 0x 草案在各種實例中使用此類引用,以防止將右值不必要地綁定到其他 ref(T&) 和 cref(const T&) 函數。這些函數專門設計為僅接受左值(對物件的引用),以及對 const 的右值引用,以確保右值(對臨時物件的引用)不會被錯誤地綁定。

最近,在審查官方標準N3290(未公開)時,可訪問),我們在20.8 函數物件[function.objects]/p2:

template 中發現了以下行 void ref(const T&&) = delete;
模板; void cref(const T&&) = delete;

對最新的post-C 11 草案N3485(公開可用)的進一步檢查確認了20.8 函數對象[function.objects]/p2 中這些行的持久性.

這些範例說明了在某些情況下對const的右值引用的有用性,特別是在確保函數重載的正確行為時並防止意外綁定右值。

以上是`const Foo&&` 右值引用什麼時候有用?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn