на основе диапазона для многомерного массива

Моя встроенная система получила 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)

Ответы на вопрос(6)

Ваш ответ на вопрос