【发布时间】:2016-04-16 03:25:52
【问题描述】:
std::bitset 似乎没有附带 STL 迭代器。
因此,我不能执行以下操作:
std::bitset<8> bs;
for (auto it: bs) {
std::cout << "this can not be done out of the box\n";
}
相反,我必须:
std::bitset<8> bs;
for (std::size_t i = 0; i < bs.size(); ++i) {
std::cout << bs[i] << '\n';
}
没有迭代器,我也无法将位集与任何 STL 算法一起使用。
为什么委员会决定从 bitset 中排除迭代器?
【问题讨论】:
-
作为参考,来自 B.Stroustrup:“由于历史原因,bitset 在风格上与其他标准库类不同。...没有提供迭代器。”你可以在 B .Stroustrup 的“The C++ Programming Language”一书。 "34.2.2 位集"
-
@StahlRat 你有那个链接吗?
-
@NathanOliver books.google.co.uk/…
标签: c++ stl iterator bitset std-bitset