Sdílet prostřednictvím


Šablony odkazující

Toto téma ukazuje, jak použít šablonu, která již byla deklarována.

template-name < template-arg-list >

Poznámky

Seznam parametrů šablony by měl být seznam oddělený čárkami:

expressiontype-name

Všechny výraz argumenty musí být konstantní výrazy.Kompilátor vytvoří novou instanci (nazývané instanci) podle šablony třídy nebo funkce, pokud je přesná shoda na dříve vytvořenou šablonu.Například na odkaz MyStack třídy definované v Členské funkce šablony:

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.

Každá šablona generované funkce vytvoří vlastní statické proměnné a členy.

Všechny argumenty šablony musí být přístupné v místě, kde jsou použity.

Výjimkou z výše uvedeného pravidla syntaxe je specializace součástí členské šablony ve výrazu po identifikaci ::, . nebo -> operátory.Po těchto operátorů klíčové slovo template může být zadán.Visual C++ vyplouvající z normy, které template klíčové slovo je nepovinné v této souvislosti vždy vzhledem k tomu, že tento standard vyžaduje za určitých okolností.Klíčové slovo šablony nelze použít specializace Pokud tyto hospodářské subjekty.

[ :: | -> | . ] templatetemplate-name**<template-arg-list>**

Například následující určuje volání int specializace členské funkce šablony f<T>(int) který je členem třídy X a předá jej parametru 10.

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

Viz také

Další zdroje

Šablony