なぜ std::shared_ptr
配列のデストラクターで delete[] を適切に呼び出す std::unique_ptr とは対照的に、std::shared_ptr には同等の特殊化がありません。したがって、ユーザーは配列の割り当てを正しく解除するデリーターを手動で提供する必要があります。
見落としの理由
std::shared_ptr
C 委員会内での議論にもかかわらず、std:: での配列サポートの必要性に対処するための正式な提案は提出されませんでした。 shared_ptr.
最近の開発
std::shared_ptr の配列サポートに対する新たな関心が高まり、ドラフト技術仕様 (TS) の作成につながりました。 。この TS (n4077.html) は、shared_ptr の機能を配列に拡張するメカニズムを提案しています。
現状と将来の展望
ドラフト TS は C の一部として承認されています。 17 では、std::shared_ptr での配列処理の公式サポートが提供されます。この機能強化により、シームレスな配列管理が可能になり、プログラマのメモリ割り当てタスクが簡素化されます。以上が`std::shared_ptr` に配列削除の特殊化がないのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。