Ich liebe das Konzept von DRY (don't repeat yourself [oops]), doch das C++-Konzept der Header-Dateien verstößt gegen diese Regel der Programmierung. Gibt es einen Nachteil, wenn ein Klassenmitglied vollständig im Header definiert wird? Wenn es für Vorlagen richtig ist, warum dann nicht für normale Klassen? Ich habe einige Ideen für Nachteile und Vorteile, aber was sind Ihre?
Antwort
Zu viele Anzeigen?
stefaanv
Punkte
13390
Noch nicht erwähnt: virtuelle Funktionen werden für jedes Include instanziiert, so dass Sie Ihre ausführbare Datei aufblähen können (ich bin nicht sicher, ob dies für alle Compiler gilt).
Es gibt eine Alternative:
Machen Sie eine Menge Dinge in Klassen, die in Ihrer Quelldatei deklariert sind. Ein Beispiel ist das pimpl-idiom, aber es gibt auch Leute, die Angst davor haben, Klassen außerhalb der Header-Datei zu deklarieren. Für private Klassen ist dies jedoch sinnvoll.
- See previous answers
- Weitere Antworten anzeigen