非アトミック スマート ポインター: C 標準に存在しない点を探る
C メモリ管理の領域では、std::shared_ptrは、アトミックな操作により、優れたスマート ポインターとして機能します。これにより、標準メモリ ライブラリ内に非アトミックな対応物が存在しないのはなぜでしょうか?
1 という疑問が生じます。 std::shared_ptr の非アトミックな代替手段
std::shared_ptr はアトミックな動作を提供しますが、一部のシナリオではそのようなオーバーヘッドが保証されない場合があります。これに対処するために、非アトミック参照カウントのスマート ポインターを提供する外部ライブラリが登場しました。ただし、標準メモリ ライブラリ自体にはそのような機能がありません。
2. C 11 の欠如: 理由と議論
実用性が認識されていたにもかかわらず、std::shared_ptr の非アトミック バージョンの提案は C 11 標準化プロセス中に拒否されました。この決定には、次のようないくつかの議論がありました。
結論
非アトミック std::shared_ptr が存在しないC 標準は、誤用の可能性、一貫性、パフォーマンス、カスタマイズの柔軟性に関する懸念に基づいた慎重な決定の結果です。外部ライブラリはそのような代替手段を提供できますが、標準自体はメモリ管理のための普遍的なアトミック スマート ポインタの利点を優先しています。
以上がC 標準には非アトミック `std::shared_ptr` が含まれていないのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。