C 11 的std::string 中的寫時複製(COW) 實現的合法性
人們普遍認為寫時複製( COW) 不是在C 11 中實作std::string 的合規實作的允許方法。但是,最近的討論
C 11 是否禁止 std::string 的 COW 實作?
是的,C 中禁止基於COW 的std::string 實現11.
標準規定
C 11 標準(第21.4.1 p6節)中明確規定了這個限制:
"迭代器/引用的無效僅允許:
對於COWOW字串,呼叫非常量operator[] 需要建立一個副本(這會使引用無效)。然而,此操作被標準禁止,導致 std::string 的 COW 實作在 C 11 中不相容。
以上是C 11 標準是否禁止「std::string」的寫入時複製實作?的詳細內容。更多資訊請關注PHP中文網其他相關文章!