这更像是一个风格问题,因为我知道在实践中大多数编译器可能会优化以提供相同的效果,但我一直在阅读,一般来说,您应该始终在使用它们的范围内声明/定义变量。因此,在我无法内联声明的情况下,例如以下代码段,我考虑将索引变量括在范围括号(大括号,在这种情况下不确定您如何称呼它们)中,以明确限制这些变量的范围。这是好习惯吗?如果是这样,你能解释一下为什么吗?
{
size_t i = 0; // this variable has no use outside of the range-based for loop
for (auto const input : input_vector)
{
neuron_sequence[i].ForceSignal(input);
++i;
}
}