[C/C++] Umsteigerfrage unterschied const/define

Dieses Thema im Forum "Programmierung & Entwicklung" wurde erstellt von coach, 11. September 2008 .

Schlagworte:
Status des Themas:
Es sind keine weiteren Antworten möglich.
  1. 11. September 2008
    Umsteigerfrage unterschied const/define

    hi@all, ich steige atm auf c um (zumindest versuche ich es) und nun wollte ich fragen, wo der vorteil/nachteil von const und define ist, es lassen sich ja quasi auf beide arten constanten deklarieren, oder hab ich da was falsch verstanden?...mfg coach
     
  2. 11. September 2008
    AW: Umsteigerfrage unterschied const/define

    "Das Einsatzgebiet von const ist das gleiche wie bei #define. Er ist jedoch diesem vorzuziehen, da der Compiler hier die verwendeten Typen und Gültigkeitsbreiche besser kontrollieren kann, während es sich beim #define nur um eine Textersetzung handelt, bei der keine Typprüfungen vorgenommen werden"

    laut Helmut Erlenkötter
     
  3. 11. September 2008
    AW: Umsteigerfrage unterschied const/define

    Ja, wie junkiestyle schon gesagt hat, const ist #define vorzuziehen. Bei #define ersetzt einfach nur der Preprozessor einfach nur nen Text mit nem Wert. Der Compiler kriegt von der Konstate also gar nix mit.

    const is dagegen eine richtige Konstante, die der Compiler auswertet. Ein Vorteil von const ist beispielsweise, dass man auch private konstante Variablen in Klassen erstellen kann:

    Code:
    class Beispiel
    {
    private:
     static const int test;
    };
    
    const int Beispiel::test = 123;
    
    mit #define geht das ganze nicht.
     
  4. 12. September 2008
    AW: Umsteigerfrage unterschied const/define

    ok, danke, bw's kommen sofort, habs mir vorsichtshalber auch nochma von kola erklären lassen...mfg coach
     
  5. Video Script

    Videos zum Themenbereich

    * gefundene Videos auf YouTube, anhand der Überschrift.