オプションの参照: std::optional には存在しません
参照型をサポートする Boost のオプション クラスとは異なり、標準ライブラリの std::optionalにはこの機能がありません。この省略により、この決定の背後にある理由についての調査が行われました。
専門性の欠如
std::optional が最初に std::experimental::optional として提案されたときlibc では、委員会メンバーはオプションの参照に関して懸念を表明しました。その後、提案の 3 回目の改訂 (n3527) で、著者らは、オプションの値が承認され C 14 に組み込まれる可能性を高めるために、オプションの参照を補助提案にすることを選択しました。
将来の見通し
オプションの参照は他の理由で C 14 に入れられませんでしたが、委員会はそれらを完全に拒否しませんでした。正式な提案が提示された場合、将来の C 標準にオプションの参照を含める可能性については依然としてオープンです。
代替ソリューション
それまでの間、開発者は代替ソリューションを検討できます。カスタム オブジェクト ラッパーや、参照型の機能を提供する boost::optional ライブラリの使用など。
以上が`std::optional` が参照型をサポートしないのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。