Существует простая функция, которую я хотел бы добавить к одному из членов класса: я хотел бы выйти из функции в случае, если все значения некоторого boolean (2d): true
.Выход из функции, если все значения в массиве истинны
В более простом случае 1d массива, я могу сделать это следующим образом:
int SIZE = 10;
std::vector<bool> myArray(SIZE, true);
int i = 0;
while(myArray[i] and i < SIZE){
++i;
}
if(i == SIZE){
return;
}
// rest of the code for array not all true
Там, вероятно, не более быстрый способ сделать это (минус маргинальные оптимизаций), но я считаю, это немного некрасиво. Есть ли лучшие способы сделать это?
=========================================
В конец я решил реализовать:
{
bool allTrue = true;
for(int i = 0; i < SIZE1 and allTrue; ++i)
for(int j = 0; j < SIZE2 and allTrue; ++j)
allTrue &= myArray[i][j];
if(allTrue)
return;
}
'станд :: all_of' .. –