Abkürzung...



  • Kann man das nicht so irgendwie schreiben?

    #include <iostream>
    using namespace std;
    
    int HoleWert()
    {
    	return 4;
    }
    
    int main()
    {
    	int a = 3;
    
    	if(a != (a = HoleWert()))
    		cout << "Jetzt aber" << endl;
    
    	cout << a;
    }
    

    Wenn a noch nicht 4 war, soll "Jetzt aber" ausgegeben werden. Anschließend soll a automatisch 4 sein, weil Zuweisung. Aber das linke a scheint auch 4 zu sein, also es wird nix ausgegeben...

    Gibts ne Möglichkeit das irgendwie so kurz hinzuschreiben?

    Ich möchte nämlich nicht das machen:

    if(a != HoleWert())
    	{
    		cout << "Jetzt aber" << endl;
    		a = HoleWert();
    	}
    

    Möchte die Funktion nur einmal aufrufen und auch nicht unnötig eine weitere Variable anlegen... 🙄





  • Wie wärs, wenn du die Abfrage einfach ganz weglassen würdest? Ist eine Zuweisung denn nicht gut genug?

    Steckt da möglicherweise sogar Premature Optimization dahinter?



  • Ja ich weiß, unnötige Mikrooptimierung 🙄
    Ne, ich möchte ja drauf reagieren wenn a nicht mehr HoleWert() ist...



  • Das wird nicht einfacher gehen als in deinem letzten Codebeispiel. Beziehungsweise würde eine Verkürzung des Codes wahrscheinlich keine Verbesserung des Maschinencodes bewirken...


Anmelden zum Antworten