似乎 C++11 中提供的“for each”语法可以在不知道数组(元素数量)实际大小的情况下进行数组迭代。我认为,既然它是新标准的一部分,那么即使对于C数组来说,这也是完全安全的。通常,在操作 C 数组之前还必须单独知道其大小,但我希望有经验的人验证一下这个新的 C++ 技术是否正如您所期望的那样工作:
extern float bunch[100];
for (float &f : bunch) {
f += someNumber;
}
这种技术是否存在一些不显而易见的副作用或缺陷?我在看到的代码中没有看到太多信息,很可能是因为大部分代码是在此技术成为标准之前编写的。我想确保其稀有的使用并不是由于其他不为人知的原因。