3 Stimmen

Verwendung eines booleschen Wertes "das erste Mal" in C++ oder Java

Ich benutze normalerweise ein boolsches 'ersteMal' so:

in C++:

bool ersteMal = true;
for (int i = 0; i < v.size(); i++) {
    if (ersteMal) {
        //etwas nur einmal machen
        ersteMal = false;
    }
    else {
        //das Übliche tun
    }
}

in Java wäre es dasselbe, indem man statt einem bool ein boolean verwendet, daher gebe ich den Code nicht an.

Die Frage ist, gibt es irgendwie in Java oder C/C++ eine Möglichkeit, ein bool/boolean in einer if-Bedingung zu verwenden und automatisch den Wert false zuzuweisen?

Ich weiß, es scheint unsinnig, aber es würde meinen Code VIEL Zeilen sparen, weil ich viele Basisfälle habe und in großen for- oder while-Schleifen ist das kritisch.

Ich möchte wissen, ob es irgendwie möglich ist, einem Wert nach der Verwendung in einer if-Bedingung den Wert false zuzuweisen. Ich weiß, dass wir in einem for oder while einfach verwenden können:

if (i == 0)

Aber ich habe auch an Funktionsaufrufe gedacht, die Dinge wissen müssen und die normalerweise durch bools referenziert werden.

0voto

Kazekage Gaara Punkte 14762

Ich würde etwas in dieser Art ausprobieren, es funktioniert, aber ich bin mir nicht sicher, ob es der richtige Weg ist. (http://ideone.com/Bcjva)

boolean boo = true;
if( !((boo) ? (boo = !boo) : boo)) //tritt erfolgreich ins if ein, aber druckt innen boo als false.
     System.out.println(boo);

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X