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

标签 c++ arrays

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

bool log[100000]

我有一个循环,我想在其中将日志中所有元素的值设置为 True。换句话说,我想删除在每个循环周期后记录所做的所有更改。我该怎么做?我可以不全部更改,而是说 100 个值吗?

最佳答案

true填充整个数组:

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

true填充前100个元素:

std::fill(begin(log), begin(log) + 100, true);

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

关于c++ - 如何将数组的所有元素更改为特定值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9537753/

相关文章:

c++ - 如何在运行时更改 QDialog 的模式?

python - 修改静态变量是线程安全的吗?

c++ - 结构错误

c++ - is<thing> 等价于 char32_t

java - 为什么我们不能在泛型类中创建一个 "Concrete"类数组?

php - 将一个++数字变量设置为数组键

python - 如何从文件中创建单词数组?

c++ - 将 Qt 宏 Q_OBJECT 用于插槽

ruby - 对象数组 : Reject all but ones with largest value

java - 按员工 ID 号对字符串数组进行排序