Stilfrage: "int& x" oder "int &x"?



  • Guten Tag,

    da ich gerade C++ lernen möchte und dazu verschiedene Tutorials mit unterschiedlichen Schreibstilen lese, frage ich mich momentan, welche Schreibweise man sich bei Zeigern und Referenzen von vornherein angewöhnen sollte.

    Soll man sich lieber "int& x" und "int* px" angewöhnen, oder doch lieber "int &x" und "int *px"? Ich bin mir diesbezüglich sehr unsicher. Für welche Variante habt ihr euch denn so entschieden (und evtl. warum)?



  • ich hab mich für int& x entschieden, weils mir besser gefällt ;). Jeder wählt hierbei eigentlich das,was ihm lieber und lesbarer ist, und keiner regt sichh auf, wenn dus anders machst 😉



  • Für Referenzen solltest du auf jeden Fall die erste Variante nehmen, also int& b.

    Und bei Zeigern bevorzuge ich int *b.



  • Kann man ewig drüber philosophieren... es ist wie mit den Pointern...

    Der C Programmierer sagt eher...

    int *p;
    

    *p ist eine int

    ...und der C++ Programmierer

    int *p;
    

    p ist ein Pointer auf eine int

    Ich denke verbreiteter ist int& x; und ich ziehe das auch eher vor... weil es meiner Meinung nach eben zum Typ gehört



  • Kannste machen wie du lustig bist, geht sogar so:

    int * a; // nicht links und auch nicht rechts, einfach in der Mitte.
    


  • Man muss schon ein bisschen aufpassen damit - zum Beispiel finde ich

    int* p, q;
    

    ziemlich irreführend - mit dieser Deklaration ist q ja kein Pointer.



  • 0xdeadbeef schrieb:

    Man muss schon ein bisschen aufpassen damit - zum Beispiel finde ich

    int* p, q;
    

    ziemlich irreführend - mit dieser Deklaration ist q ja kein Pointer.

    Abhilfe: Eine Deklaration pro Zeile. Das ist dann sowieso übersichtlicher.



  • Genau das Argument zieht bei mir auch nicht weil ich nie Pointer, Referenzen und / oder Variablen in der selben Zeile deklarieren / initalisieren würde.

    --> Bei einem eigenem Projekt kann man es sich aussuchen, wenn man für jemand arbeitet muss man eventuell nen Standard einhalten.



  • C++-Lerner schrieb:

    Für welche Variante habt ihr euch denn so entschieden (und evtl. warum)?

    Als ich begann C zu lernen, hab ich 'int* px' geschrieben, weil es praktisch in fast jedem Beispielcode so gemacht wurde.
    Beim Umstieg auf C++ hab ich mir dann die dort eher verbreitete 'int& x' / 'int* px' Schreibweise angewöhnt, auch weil ich es einfach als logischer empfinde. Ein Typmodifizierer gehört nunmal eher zum Typ als zum Bezeichner. Aber letztendlich ist es vollkommen egal. Mach es so, wie es dir am besten gefällt. Nur zieh das dann auch komplett durch, und nicht hier mal so und da mal so.


Anmelden zum Antworten