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


Явное создание экземпляра

Явное создание экземпляра позволяет создать экземпляр шаблонного класса или функции без виртуальных использование его в коде.Поскольку это полезно при создании файлов библиотеки (lib), использующие шаблоны для распределения, uninstantiated определения шаблона не сохраняются в файлы объектов (obj).

Явно создает следующие MyStack для int переменные и 6 элементов.

template class MyStack<int, 6>;

Это выписка создает экземпляр MyStack без резервирование любое хранилище для объекта; код создается для всех элементов.

Следующие явно создает только функцию-член конструктора:

template MyStack<int, 6>::MyStack( void );

Шаблоны функции могут быть явно создан с redeclaring их с определенным аргументом типа, как указано в примере in Экземпляр шаблона функции.

Только для систем Microsoft

Можно использовать extern ключевое слово для предотвращения автоматического создания элементов.Примеры.

extern template class MyStack<int, 6>;

Аналогично можно пометить конкретные элементы как внешний и не создаются следующим образом:

extern template MyStack<int, 6>::MyStack( void );
ПримечаниеПримечание

extern ключевое слово в специализации применяется только к функции-членам указанным вне тела класса.Функции, определенные внутри объявления класса являются встроенными функциями и всегда создается.

См. также

Ссылки

Шаблоны функции