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