[英]How to change all elements of an array to specific value?
例如,我有一个像这样的数组:
bool log[100000]
我想在其中将日志中所有元素的值都设置为True。 换句话说,我希望在循环的每个循环后擦除所有已记录的更改。 我该怎么办? 我能否全部更改,但可以说100个值?
用true
填充整个数组:
std::fill(begin(log), end(log), true);
用true
填充前100个元素:
std::fill(begin(log), begin(log) + 100, true);
在C ++ 11中添加了begin
和end
; 如果您的编译器和库不支持它们,请考虑使用具有begin
和end
成员函数的std::array<bool, N>
。 无论如何,您确实应该使用std::array
模板,因为它没有开销,提供了标准的序列容器接口,并可以帮助您避免C数组的愚蠢语义。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.