ホームページ  >  記事  >  バックエンド開発  >  なぜ `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::optional の参照型の特殊化が欠落しています: 探索的な議論

std::optional、C の不可欠な部分標準ライブラリは、NULL 許容値を表す効率的なメカニズムを提供します。ただし、Boost ライブラリの対応するものとは異なり、std::optional には参照型の特殊化がありません。これにより、次のような疑問が生じます。なぜですか?

std::optional には参照型の特殊な処理が存在しないことが議論の対象となっています。もともと N3406 の一部として提案されましたが、C 14 に含まれる可能性を高めるために、オプションの値を独立した提案 (N3527) として追求することが決定されました。

std:: から参照の特殊化を省略する理由は次のとおりです。オプションについては明示されていないが、委員会メンバー間の懸念が決定に影響を与えたと推測される。それにもかかわらず、この側面に対処するための将来の提案への扉は開かれたままです。

参照型の専用の特殊化が欠けているにもかかわらず、標準ライブラリは代替ソリューションを提供します。たとえば、 std::reference_wrapper は参照用のコンテナを提供するため、null 許容参照の表現が可能になります。

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

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