ホームページ  >  記事  >  バックエンド開発  >  `std::optional` が参照型をサポートしないのはなぜですか?

`std::optional` が参照型をサポートしないのはなぜですか?

Susan Sarandon
Susan Sarandonオリジナル
2024-10-26 18:40:30175ブラウズ

Why Doesn't `std::optional` Support Reference Types?

オプションの参照: std::optional には存在しません

参照型をサポートする Boost のオプション クラスとは異なり、標準ライブラリの std::optionalにはこの機能がありません。この省略により、この決定の背後にある理由についての調査が行われました。

専門性の欠如

std::optional が最初に std::experimental::optional として提案されたときlibc では、委員会メンバーはオプションの参照に関して懸念を表明しました。その後、提案の 3 回目の改訂 (n3527) で、著者らは、オプションの値が承認され C 14 に組み込まれる可能性を高めるために、オプションの参照を補助提案にすることを選択しました。

将来の見通し

オプションの参照は他の理由で C 14 に入れられませんでしたが、委員会はそれらを完全に拒否しませんでした。正式な提案が提示された場合、将来の C 標準にオプションの参照を含める可能性については依然としてオープンです。

代替ソリューション

それまでの間、開発者は代替ソリューションを検討できます。カスタム オブジェクト ラッパーや、参照型の機能を提供する boost::optional ライブラリの使用など。

以上が`std::optional` が参照型をサポートしないのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。