Дано:
template <typename T>
class C {
C & operator ++ () { ... }
};
Почему / как C
разрешено объявлять переменные и функции типа C
вместо того, чтобы называть C<T>
? Я действительно не задумывался об этом, прежде чем работать над шаблоном с множеством параметров, из-за которых было бы неудобно описывать «тип личности».
Есть ли какие-то причуды, о которых я должен знать?