005
11.12.2007, 16:08 Uhr
0xdeadbeef
Gott (Operator)
|
Das Auslagern der Implementierung ist nicht nur möglich, sondern häufig auch guter Stil. Allerdings - der Punkt hier ist, dass Klassenvorlagen halt keine Klassen sind, die vom Compiler zu Klassen konkretisiert werden. Damit der Compiler das aber konkretisieren kann, muss er den ganzen Code kennen.
Die GNU-Leute helfen sich gerne, indem sie die Deklaration in einem Header und die Definition in eine gleichnamige .tcc-Datei schreiben, um dann am Ende des Headers
zu schreiben. Ob das guter Stil ist, darüber kann man sich lange streiten. Prinzipiell gibt es im Standard auch das Schlüsselwort "export," was etwas in der Art machen soll, allerdings gibt es, soweit ich weiß, nur einen Compiler, der das implementiert (Comeau), und alle anderen fragen sich noch, wie zum Teufel die das gemacht haben. -- Einfachheit ist Voraussetzung für Zuverlässigkeit. -- Edsger Wybe Dijkstra |