Klassentemplate: Nur einzelne Methoden spezialisieren
-
Weil Templates zur Compilezeit erstellt werden und ifs zur Laufzeit ausgeführt werden. Außerdem wäre ein if unübersichtlich und etwas langsamer in der Ausführung, was ich nicht will, weil es um ein 3D-Renderingprogramm geht.
-
Ob das jetzt für dich sinnvoll ist oder nicht sei mal dahingstellt, dennoch es ist durchaus möglich relativ leicht if-Statments mit Hilfe von Templates nachzubilden.
Hier mal ein Beispiel von: http://www.lrz-muenchen.de/~ebner/C++/Slides/cxxkurs.html
// Klassendeklaration: template<bool C> class IfThen { }; // Spezialisierung für beide Fälle class IfThen<true> { public: static inline void f() { statement1; } }; class IfThen<false> { public: static inline void f() { statement2; } }; // Ersatz des 'if/else'-Statements: IfThen<condition>::f();Gruß Baracke