Es scheint, dass der in C++11 verfügbare "for each"-Syntax die Array-Iteration ohne Kenntnis der tatsächlichen Größe des Arrays (Anzahl der Elemente) ermöglicht. Ich gehe davon aus, da es Teil des neuen Standards ist, dass dies perfekt sicher ist, selbst für C-Arrays. Typischerweise müssen Sie auch separat die Größe eines C-Arrays kennen, bevor Sie es manipulieren, aber ich möchte Bestätigung von jemandem, der Erfahrung mit dieser neuen C++-Technik hat, dass sie genauso funktioniert, wie Sie es erwarten:
extern float bunch[100];
for (float &f : bunch) {
f += someNumber;
}
Gibt es etwas, was ich über nicht offensichtliche Nebeneffekte oder Nachteile dieser Technik wissen sollte? In dem von mir gesehenen Code ist nicht viel sichtbar, wahrscheinlich weil der Großteil des Codes geschrieben wurde, bevor dies im Standard war. Möchte sicherstellen, dass die seltene Verwendung nicht aufgrund eines anderen nicht gut bekannten Grundes erfolgt.