C ではオプション : 参照型に特殊化がないのはなぜですか?
Boost のようなライブラリには参照型の特殊化が存在するにもかかわらず、C標準ライブラリの std::optional にはそのような機能はありません。この決定は、その理論的根拠と潜在的な代替メカニズムについての問い合わせを引き起こしました。
省略の背後にある根拠
n3406 (オプションの提案) の議論中に、懸念が提起されました。オプションの参照の組み込みについて。これらの反対意見を認識して、n3527 の作成者は、標準のオプション値が受け入れられる可能性を高めるために、オプションの参照を補助提案に分離しました。オプションは無関係な要因により最終的に C 14 には含まれませんでしたが、オプションの参照に対する委員会の不承認は問題ではありませんでした。
現在の代替
std::optional ですがは参照型の特殊化を提供していないため、標準ライブラリには「存在する可能性のあるオブジェクトへの参照」セマンティクスを提供する同等の構造がありません。このため、開発者は代替手段を求めることになるかもしれません:
将来の考慮事項
現在、オプションの参照はC 標準ライブラリについては、委員会は将来的にそれらが含まれる可能性を排除していません。正式な提案が提出された場合、決定は最終的に提案された機能のメリットに関する委員会の評価に依存します。
以上がここでは、核心的な問題に焦点を当てた、質問ベースのタイトルのオプションをいくつか示します。 * C std::optional: 参照型に特化しないのはなぜですか? (直接的かつ要点を絞って) * C std::option の参照型の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。