Моя встроенная система получила версию g++, совместимую с С++ 11, поэтому я очищаю код от
for( uint16_t* p = array; p < (&array)[1]; ++p ) {
*p = fill_value;
}
к
for( uint16_t& r : array ) {
r = fill_value;
}
который является более читаемым.
Существует ли цикл, основанный на диапазоне, который работает над всеми элементами 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)