Warum müssen wir Template-Klasse / Typname T statt nur Template T tun

7

Anstelle von

%Vor%

Warum können wir das nicht tun?

%Vor%

Von cplusplus.com:

  

Der einzige Unterschied zwischen beiden   Prototypen ist die Verwendung von entweder   Schlüsselwortklasse oder das Schlüsselwort typename.   Seine Verwendung ist undeutlich, da beide   Ausdrücke haben genau das gleiche   Bedeuten und verhalten sich genau gleich   Weg.

Es erscheint mir einfach als unnötige Vorbereitung.

    
Avery3R 03.07.2011, 03:21
quelle

2 Antworten

11

Ссылка Siehe Abschnitt über Nicht-Typ-Parameter für Vorlagen.

Sie benötigen ein Schlüsselwort, um Typ-Parameter von Nicht-Typ-Parametern zu unterscheiden.

%Vor%     
Justin Aquadro 03.07.2011, 03:28
quelle
8

Weil Vorlagenargumente nicht immer Typen sind. Sie können ein Template-Argument haben, das ein ganzzahliger Wert ist, beispielsweise im Fall von std::bitset<size_t N> .

    
John Zwinck 03.07.2011 03:25
quelle

Tags und Links