Warum nicht immer gleich static!?



  • static_magic schrieb:

    Hey ist doch kein Problem. Ich wollte hier aber auch niemand angreiffen oder so! 🙂

    BTW: Falls hier namespace als Alternative gemeint ist, finde ich das auch viel besser. Allerdings muss ich sagen, für wenige Variablen finde ich static besser, um einen Scope zu erzeugen.

    Nicht? 🤡

    Wie gesagt mir war die ganze Problematik gar nicht bewusst, weil ich das gar nie brauche.. Aber wenn, würde ich troztdem zum namespace tendieren. Einfach, weil es viel verständlicher ist, was man vorhat.



  • static_magic schrieb:

    ...Globale Variable...
    int i;

    Objekte, die auf Namensraumebene definiert bzw deklariert werden, besitzen immer eine statische Speicherklasse. In Deinem Fall ist es eine Definition mit externer Bindung. Andere Beispiele:

    static int j;         // Definition,  interne Bindung
    const int k=2;        // Definition,  interne Bindung
    extern int l;         // Deklaration, externe Bindung
    extern const int m;   // Deklaration, externe Bindung
    extern const int n=3; // Definition,  externe Bindung
    

    Gruß,
    SP



  • drakon schrieb:

    Wie gesagt mir war die ganze Problematik gar nicht bewusst, weil ich das gar nie brauche.. Aber wenn, würde ich troztdem zum namespace tendieren. Einfach, weil es viel verständlicher ist, was man vorhat.

    Wenn ich eine static Variable in einer Datei sehe, macht es *PLING* und ich weiss sofort:
    Diese Variable ist nur innerhalb dieser Datei sichtbar.
    Damit ist es klar, was man damit vorhat.
    MfG,
    k.w.k.


Anmelden zum Antworten