Поделиться через


Обращение к шаблоны

В этом разделе показано, как использовать шаблон, который ранее был объявлен.

template-name < template-arg-list >

Заметки

шаблон-arg-список следует список с разделителями-запятыми.

expressiontype-name

Все Выражение аргументы должны быть выражениями константы.Компилятор создает новый экземпляр (экземпляр) шаблонного класса или функции не точно, если - соответствие к ранее созданному шаблону.Например, для создания ссылки на MyStack класс, определенный внутри Шаблоны функции-члена.

MyStack< unsigned long, 5 > stack1;     
// Creates a stack of unsigned longs.
MyStack< DWORD, 5 >stack2;
// Uses code created above.
MyStack< char, 6 > stack3;
// Generates new code.
MyStack< MyClass, 6 > stack4;
// Generates stack of MyClass objects.

Каждый созданный шаблон функции создает свои собственные переменные и статические элементы.

Все аргументы шаблона должны быть доступны в той точке, где они используются.

Исключение к вышеуказанному синтаксическому правилу в определение специализацию шаблона члена в выражении после ::" . OR - > операторы.После этих операторов, ключевое слово template может быть указан.Visual C++ уходит из стандарта в этом template ключевое слово всегда является необязательным в этом контексте, тогда как стандарт требует его в некоторых случаях.Ключевое слово нельзя использовать в специализации шаблона если за этими операторами.

[ :: | -> | . ] шаблоншаблон-Имя**<шаблон-arg-list>**

Например, следующий код определяет вызов int специализация шаблона функции-члена f<T>(int), что член класса X и передает ему параметр 10.

X::template f<int>(10);

См. также

Другие ресурсы

Шаблоны