gpt4 book ai didi

c++ - vector 是否违反容器要求?

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:55:11 24 4
gpt4 key购买 nike

C++ 标准草案 n3242在 23.2 中,在包含容器要求的表中,指出 X::reference用于包含 T 的容器必须是 lvalue T .然而,对于 vector<bool> , vector<bool>::reference是另一个类,用于访问存储在 vector 中的各个字节位的代理。

这是否意味着 std::vector T = bool 的类模板规范,在标准中定义,无法满足容器要求?

最佳答案

Does that mean that std::vector class template specification for T = bool, defined in standard, fails to fulfill container requirements?

是的。

同样,它的迭代器并不是真正的随机访问迭代器,因为operator*产生一个代理对象。

vector<bool>一团糟。

关于c++ - vector<bool> 是否违反容器要求?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12678236/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com