Const 右值引用:一個罕見但有用的概念
const 的右值引用(const Foo&&&)是否有任何實際用途的問題讓一些程式設計師感到困惑。從直覺上看,它們不會,但讓我們更深入地研究這個主題並探索潛在的應用程式。
根據 C 0x 草案,常量右值引用在某些情況下可能是有益的。例如,在草案本身使用的以下程式碼片段中:
template <class T> void ref(const T&&) = delete; template <class T> void cref(const T&&) = delete;
這些重載確保其他 ref(T&) 和 cref(const T&) 函數不會綁定到右邊值,從而防止意外行為。
檢查官方C 11 標準(N3290)後,可以在第20.8 節「函數物件」中找到相同的聲明[function.objects]/p2:
template <class T> void ref(const T&&) = delete; template <class T> void cref(const T&&) = delete;
最新公開的post-C 11 草案(N3485) 也在同一部分中包含這些聲明。這些範例表明 const 右值引用已被認為足夠有用,可以包含在 C 語言標準中。雖然它們的用例可能是特定的,但它們為某些程式設計情況提供了有價值的構造。
以上是Const Rvalue 引用在 C 中有實際用途嗎?的詳細內容。更多資訊請關注PHP中文網其他相關文章!