問題:探索std::Optional 中引用類型特化的缺失
在標準C 中, std::Optional 提供了一個提供了一個容器保存一個值或指示它不存在。然而,與 Boost 中的對應項不同,std::Optional 缺乏引用類型的專業化,這給使用者留下了一個問題:為什麼?本文深入探討了這項設計決策背後的原因,並探討了標準庫中可用的替代選項來處理對可選值的引用。
答案:解決問題和未來前景
在關於可選值的初始提案 (n3406) 期間,委員會成員對可選參考提出了擔憂。隨後,在n3527中,作者提出將可選引用分離成輔助提案,以提高可選值被採用的機會。
雖然可選引用由於其他因素沒有被包含在C 14中,但並沒有被拒絕委員會。如果提交提案,則有可能將可選引用合併到未來的 C 標準中。
引用可選值的替代方案
儘管沒有std::對於引用類型的可選專業化,標準庫確實提供了引用可選值的替代方法:
總之,缺乏引用類型專業化std::Optional 源自於提案過程中的擔憂。然而,委員會仍願意考慮未來的可選參考資料。此外,標準庫還提供了 std::reference_wrapper<:optional>> 。作為過渡期間引用可選值的替代方法。
以上是為什麼 `std::Optional` 缺乏引用型別專業化?的詳細內容。更多資訊請關注PHP中文網其他相關文章!