非原子智慧指標:探索C 標準中的缺失
在C 記憶體管理領域,std::shared_ptr由於其原子操作,它是一種特殊的智慧指針。這就提出了一個問題:為什麼標準記憶體庫中沒有非原子對應項?
1。 std::shared_ptr 的非原子替代品
雖然 std::shared_ptr 提供原子行為,但某些場景可能不需要這樣的開銷。為了解決這個問題,出現了外部函式庫,提供非原子引用計數智慧指標。然而,標準記憶體庫本身缺乏這樣的功能。
2. C 11 中的缺席:原因和爭論
儘管被認為有用,但在C 11 標準化過程中,關於std::shared_ptr 非原子版本的提議被拒絕了。有幾個論點促成了這個決定:
結論
中缺少非原子std::shared_ptr C 標準是基於對潛在誤用、一致性、性能和定制靈活性的擔憂而深思熟慮的決定的結果。雖然外部函式庫可以提供此類替代方案,但標準本身優先考慮了用於記憶體管理的通用原子智慧指標的好處。
以上是為什麼 C 標準不包含非原子 `std::shared_ptr`?的詳細內容。更多資訊請關注PHP中文網其他相關文章!