C 中的可選:為什麼沒有專門化引用類型?
儘管在像 Boost 這樣的庫中存在對引用類型的專門化,C標準庫的 std::Optional 不提供這樣的功能。這項決定引發了對其理由和潛在替代機制的詢問。
遺漏背後的理由
在討論 n3406(可選提案)期間,有人提出了擔憂關於包含可選參考文獻。認識到這些反對意見,n3527 的作者將可選引用分成輔助提案,以提高接受標準可選值的可能性。雖然由於不相關的因素,可選最終沒有包含在 C 14 中,但委員會不贊成可選引用並不是問題。
當前替代方案
儘管std::optional不提供引用類型的專門化,標準庫缺少提供“對可能存在的對象的引用”語義的等效構造。這可能會讓開發人員尋求替代方案:
未來考慮
雖然可選引用目前不存在於C標準庫,委員會不排除將來將其納入。如果提交正式提案,決定最終將取決於委員會對擬議功能優點的評估。
免責聲明: 提供的所有資源部分來自互聯網,如果有侵犯您的版權或其他權益,請說明詳細緣由並提供版權或權益證明然後發到郵箱:[email protected] 我們會在第一時間內為您處理。
Copyright© 2022 湘ICP备2022001581号-3