作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
在 C 或 C++ 中,修改 for 循环内的循环变量是令人讨厌的错误的根源:
int main() {
std::vector<int> v (30);
std::iota(v.begin(), v.end(), 0);
int j = 0;
for (size_t i = 0; i < v.size(); i++) {
std::cout << v[i] << ' ' << i << '\n';
i++; // oops, I mean j++
}
std::cout << j << '\n';
}
是否有任何方法可以借助编译器或其他方式禁止修改循环体内的循环变量或发出警告?如果可以的话我该怎么做?
最佳答案
如果您使用 C++ ranged-for,则可以将循环变量设为 const
。例如
for (const size_t i : boost::irange<size_t>(0, v.size()))
{
std::cout << v[i] << ' ' << i << '\n';
// i++; // error, can't modify const
}
关于c++ - 是否可以禁止修改 for 循环体内的循环变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58713726/
因此,我的flutter应用程序运行正常,但是我想对其进行一些更改。 我要执行的第一个更改是创建一个水平滚动窗口小部件,该窗口小部件的图像可以单击以更改工作站。 但是要做到这一点,我首先需要将两个小部
如何在 Bootstrap 模态的主体内设置 div 样式?这是我的模型: text ') .okBtn('ok') .open();">Open Model 我的CSS: @M
我有一个简单的触发器,它在 SQL Fiddle 上运行,但它不允许我将 INSERT STATEMENT 移动到触发器的主体内。 my code on sqlFiddle我只是想移动这条线 INSE
我是一名优秀的程序员,十分优秀!