首頁  >  文章  >  後端開發  >  為什麼 `std::Optional` 缺乏參考類型的專業化?

為什麼 `std::Optional` 缺乏參考類型的專業化?

Mary-Kate Olsen
Mary-Kate Olsen原創
2024-10-26 18:54:02107瀏覽

Why Does `std::optional` Lack Specialization for Reference Types?

std::可選中缺少引用類型的專業化:探索性討論

std::可選,C 的一個組成部分標準函式庫提供了一個有效的機制來表示可為空值。然而,與 Boost 函式庫中的對應項不同,std::Optional 缺乏對引用類型的專門化。這就提出了一個問題:為什麼?

std::Optional 中缺乏對引用類型的專門處理一直是一個爭論的話題。最初是作為 N3406 的一部分提出的,後來決定將可選值作為獨立提案 (N3527) 來追求,以提高將其包含在 C 14 中的機會。

雖然從 std: 中省略參考專業化的原因是:可選性沒有明確說明,據推測委員會成員的擔憂影響了該決定。儘管如此,未來解決這一方面的提案的大門仍然敞開。

儘管缺乏針對引用類型的專門專業化,但標準函式庫確實提供了替代解決方案。例如,std::reference_wrapper 提供了一個引用容器,從而實作了可為空引用的表示。

以上是為什麼 `std::Optional` 缺乏參考類型的專業化?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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