wohin mit #defines?



  • Hallo,

    wohin packt ihr defines die in der main.cpp und anderen files gebraucht werden? In ein separates file welches dann immer included wird?

    danke



  • Hallo

    Unter Anderem schon, ja. Jedoch würde ich erst ein neues File anlegen, wenn in dem zugehörigen Header absolut kein Platz mehr vorhanden ist oder wenn der Header zu kompliziert strukturiert ist.

    Mfg.
    way



  • Kommt drauf an wieviele defines du hast. Wenn es mehrere sind, ist so eine Art eine jeweils zu inkludierende Konfigurationsdatei sicher eine gute Lösung.



  • danke und wie bezeichnet ihr die? bzw. was wird üblicherweise benutzt? basics?



  • in konfigurationsheaders. aber in vielen. bei einem dicken zentralen konfigurationsheader muß der in alles inkludiert werden, was zu elend langen wiederübersetzunszeiten führt. ich bin mir auch nicht zu schade, für einen define einen header zu nehmen. brauch ich wirklich zusammenfassungen, kann ich ja zusammenfassende headers dazwischenzusammenfassen.



  • way schrieb:

    Unter Anderem schon, ja. Jedoch würde ich erst ein neues File anlegen, wenn in dem zugehörigen Header absolut kein Platz mehr vorhanden ist oder wenn der Header zu kompliziert strukturiert ist.

    Kannst du dich etwas genauer ausdrücken? Ab wann ist in einem Header kein Platz mehr? Wann gilt etwas als kompliziert strukturiert? So kann man mit deiner Beschreibung nämlich nichts anfangen.

    Abgesehen davon finde ich nicht, dass man das allgemein sagen kann. Erstens kommen in modernen C++-Programmen #define -Makros selten derart häufig vor, dass sie ein echtes "Platzproblem" darstellen. Zweitens würde ich sie - wie andere Sprachelemente - dort einfügen, wo es am meisten Sinn macht. Wenn man die Makros in nahezu jeder Datei benötigt, kann man eher einen zentralen Header machen. Wenn hingegen jede CPP-Datei nur einzelne wenige Makros benötigt, kann man auch darüber nachdenken, diese lokal zu definieren. Oder mehrere vereinzelte Header einzusetzen.

    Man sollte es je nach Anwendungsfall so einrichten, dass man keine Codeduplizierung, aber auch nicht zu viele unnötige Abhängigkeiten hat.



  • Ich verstehe die Frage nicht.
    Wohin packt man Defines?
    Na, wohin packt man Funktions-Deklarationen, Klassen-Deklarationen etc.?
    Dort wo sie hingehören/dazugehören 😕


Anmelden zum Antworten