на основе диапазона для многомерного массива
Моя встроенная система получила C ++ 11-совместимую версию g ++, поэтому я очищал код от
for( uint16_t* p = array; p < (&array)[1]; ++p ) {
*p = fill_value;
}
в
for( uint16_t& r : array ) {
r = fill_value;
}
которыймного более читабельным.
Существует ли основанный на диапазоне цикл for, который работает над всеми элементамиarray2[m][n]
?
Старая версия
for( int16_t* p = array2[0]; p < (&array2)[1][0]; ++p ) {
*p = fill_value;
}
и я не хочу вложенных циклов, если не гарантировано, что компилятор их сгладит.
(FWIW, компилятор - кросс-компилятор GNU 4.7.4 Linaro g ++ ARM, который поставляется с TI Code Composer Studio 6.0.0)