例如,我有一个这样的数组:
bool log[100000]
我有循环,我想将log中所有元素的值设置为True。换句话说,我想擦除在循环的每个循环之后已经完成的所有更改。我怎么能这样做?我可以改变不是全部,但让我们说100个值?
答案 0 :(得分:5)
使用true
填充整个数组:
std::fill(begin(log), end(log), true);
使用true
填充前100个元素:
std::fill(begin(log), begin(log) + 100, true);
在C ++ 11中添加了 begin
和end
;如果您的编译器和库不支持它们,请考虑使用std::array<bool, N>
代替begin
和end
成员函数。你真的应该使用std::array
模板,因为它没有开销,提供标准的序列容器接口,并帮助你避免C数组的愚蠢语义。