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 节)中明确规定了该限制:
"迭代器/引用的无效仅允许:
COW 的含义
对于 COW 字符串,调用非常量operator[] 需要创建一个副本(这会使引用无效)。然而,此操作被标准禁止,导致 std::string 的 COW 实现在 C 11 中不兼容。
以上是C 11 标准是否禁止'std::string”的写时复制实现?的详细内容。更多信息请关注PHP中文网其他相关文章!