012
19.10.2003, 20:01 Uhr
0xdeadbeef
Gott (Operator)
|
templates sind eigentlich sehr logisch und dementsprechend einfach, sobald man das Prinzip geblickt hat. "Template" heißt soviel wie "Vorlage". In diesem Fall bedeutet das soviel wie parametrisierbare Klassen und Funktionen. Das einzige, was ein bisschen gewöhnungsbedürftig ist, ist, dass die Parameter zur Compilezeit feststehen müssen. Ein Beispiel:
C++: |
template <typename _data_t, int _len> class array { public: _data_t val[_len]; };
//... array<int, 10> a; //deklariert ein int-Array der Länge 10
int i; scanf("%d", &i); array<int, i> b; //geht nicht, der Wert von i steht zur Compilezeit nicht fest.
|
Das ganze hat nur den Ruf, kompliziert zu sein, weil man damit unglaublich hässliche Spielereien machen kann (google mal nach "template metaprogramming"), aber die eigentliche Idee ist ziemlich simpel. -- Einfachheit ist Voraussetzung für Zuverlässigkeit. -- Edsger Wybe Dijkstra |