gpt4 book ai didi

c++ - vector 如何处理引用和迭代器?

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

我们可能都知道 C++ 98 vector<bool>特化将 boolean 值存储为位而不是 boolean 变量。 vector<bool>的元素不可寻址,因为 C++ 没有指针和对位的引用,是否有解决此问题的方法,任何明显的陷阱(我似乎没有注意到)并且它是否实用甚至尝试这样做?

最佳答案

vector<bool>的元素与任何其他元素一样可寻址 vector的元素,例如与 operator [] .但是,由于内存压缩,操作会变慢。

也许更快的实现将使用您自己的内存实现并使用二进制移位来处理特定的 boolean 值。

另一种方法是在适当的地方使用简单数组。请记住,您可以使用 new 动态分配它运营商。

编辑 可能会找到替代实现,例如在 this thread .

关于c++ - vector<bool> 如何处理引用和迭代器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14091450/

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