Es gibt eine einfache Funktion, die ich zu einem der Mitglieder einer Klasse hinzufügen möchte: Ich möchte die Funktion beenden, falls alle Werte eines booleschen (2d) Array sind true
.Beenden einer Funktion, wenn alle Werte in einem Array wahr sind
Im einfacheren Fall eines 1d Array ich es auf diese Weise tun:
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
Es gibt wohl keinen schnelleren Weg, um es (minus marginal Optimierungen) zu tun, aber ich finde es ein bisschen hässlich. Gibt es bessere Möglichkeiten, es zu tun?
=========================================
In das Ende entschied ich mich zu implementieren:
{
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;
}
'std :: all_of' .. –