似乎 C++11 中可用的“for each”语法风格允许数组迭代,而不需要知道数组的实际大小(元素数量)。我假设,因为它是新标准的一部分,所以这是完全安全的,即使对于 C 数组也是如此。通常,您还必须在操作之前单独知道 C 数组的大小,但我希望任何使用过这种新 C++ 技术的人验证它的工作方式完全符合您的预期:
extern float bunch[100];
for (float &f : bunch) {
f += someNumber;
}
关于这种技术的非明显副作用或缺点,我有什么需要了解的吗?它在我看到的代码中没有显示太多,可能是因为大多数代码都是在标准中之前编写的。想确保它的罕见用法不是因为其他一些不为人知的原因。