*p**vel oder vorher neue variable?



  • hallo, mal wieder eine frage zur form:

    *wasauchimmer**x_y_z;       // sieht ja schlimm aus
    
    *nochmehr * *x_y_z;         // naja, fast besser
    
    oder:
    
    int neu=*nochmehr;
    int neu_x_y_z=*x_y_z;
    
    neu*neu_x_y_z;              // lesbar, aber mehr zeilen
    
    oder:
    
    *nochmehr * neu_x_y_z;     // was "fast" sofort lesbar ist
    

  • Administrator

    Ich persönlich würde zur Übersicht hier einfach ein paar Klammern setzen, ich denke das reicht dann auch:

    (*wasauchimmer) * (*x_y_z);
    

    So ist es denke ich ganz klar. Wenn du die Sache mehrmals verwendest, dann wäre vielleicht eine Kopie der Werte nicht schlecht, muss aber denke ich nicht unbedingt sein.

    Grüssli



  • Oder du arbeitest gerade mit Referenzen und kannst dir die Indirektion sparen.



  • Nexus schrieb:

    Oder du arbeitest gerade mit Referenzen und kannst dir die Indirektion sparen.

    Ich persönlich mag Referenzen nicht so, da man nicht immer sofort weiß, was mit dem übergebenen Datentypen passiert. Wird er nur gelesen oder auch verändert? Aber wie gesagt, meine Meinung.



  • Hallo

    Eigentlich ist das doch ganz einfach :
    Ist die Referenz konstant, wird der Wert nicht geändert.
    Ist die Referenz nicht konstant, wird der Wert potentiell geändert.
    Es ist also nur ein Frage der const-correctness und eines sauberen Interfaces.

    bis bald
    akari



  • XHansWurstX schrieb:

    Ich persönlich mag Referenzen nicht so, da man nicht immer sofort weiß, was mit dem übergebenen Datentypen passiert. Wird er nur gelesen oder auch verändert? Aber wie gesagt, meine Meinung.

    Kennst du Const-Referenzen? Die geben an, dass die referenzierte Variable nicht verändert werden darf.



  • akari schrieb:

    Ist die Referenz konstant, ...
    Ist die Referenz nicht konstanz, ...

    Nur um Missverständnisse zu vermeiden, sorry für Klugscheisserei:
    Referenzen sind selber immer konstant. Das const bezieht sich auf die Variable, an die die Referenz gebunden ist (sieht man auch daran, dass es vor dem & steht).



  • Tsts, warum bin ich so blöd und mach mir ständig das Leben schwer?
    Ein einfaches const zur richtigen Stelle.

    Nexus schrieb:

    Nur um Missverständnisse zu vermeiden, sorry für Klugscheisserei:
    Referenzen sind selber immer konstant. Das const bezieht sich auf die Variable, an die die Referenz gebunden ist (sieht man auch daran, dass es vor dem & steht).

    Das ist schon klar. Mir gings ja um den "Inhalt"...

    Btw kein Problem wg. Klugscheisserei. Wie gesagt: Manchmal seh ich den Wald vor lauter Bäumen nicht 😉


Anmelden zum Antworten