首頁 > 後端開發 > C++ > 主體

C 是否提供了「std::shared_ptr」的非原子等價物?

Mary-Kate Olsen
發布: 2024-10-27 16:28:01
原創
501 人瀏覽過

Does C   Provide a Non-Atomic Equivalent of `std::shared_ptr`?

std::shared_ptr 沒有原子版

問題: 是否有std::shared_存在於標準庫之外嗎?為什麼 C 11 中不包含非原子版本?

答:

1。非原子等效

std::shared_ptr 與標準庫中的其他智慧指標不同,它是原子的。雖然可能有第三方替代方案,但標準本身不提供非原子版本。

2.從 C 11 排除

在 C 11 Rapperswil 會議上討論了包含非原子 std::shared_ptr 的問題。反對將其納入的論點包括:

  • 使用非原子版本的程式碼稍後在執行緒程式碼中使用的可能性,導致未檢測到的問題。
  • 擁有「通用版本」的好處「shared_ptr,無論使用什麼功能。
  • 原子性對性能的影響最小,透過移動構造和分配來減輕。
  • 用戶實現自己的非原子引用計數智能指針的能力

經過考慮,LWG 最終拒絕了非原子std::shared_ptr 的提議,理由是它缺乏明確的共識,而且利不大於弊。

以上是C 是否提供了「std::shared_ptr」的非原子等價物?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!