如何将数组的所有元素更改为特定值?

时间:2012-03-02 17:32:52

标签: c++ arrays

例如,我有一个这样的数组:

bool log[100000]

我有循环,我想将log中所有元素的值设置为True。换句话说,我想擦除在循环的每个循环之后已经完成的所有更改。我怎么能这样做?我可以改变不是全部,但让我们说100个值?

1 个答案:

答案 0 :(得分:5)

使用true填充整个数组:

std::fill(begin(log), end(log), true);

使用true填充前100个元素:

std::fill(begin(log), begin(log) + 100, true);
在C ++ 11中添加了

beginend;如果您的编译器和库不支持它们,请考虑使用std::array<bool, N>代替beginend成员函数。你真的应该使用std::array模板,因为它没有开销,提供标准的序列容器接口,并帮助你避免C数组的愚蠢语义。