специфікації шаблонів
Список-параметрів-шаблону є список параметрів шаблону, які розділені комами. Вони можуть являти собою типи (в формі classідентіфікатор. Typenameідентіфікатор або template <список-параметров-шаблона> classідентіфікатор) або параметри, які не є типами, і будуть використовуватися в тілі шаблону. У параметрі шаблону використовується один з наведених нижче варіантів синтаксису.
Примірники шаблону класу створюються приблизно так само, як і екземпляри звичайних класів, проте в даному випадку необхідно включити аргументи шаблону, оточені кутовими дужками (<> ). Ці аргументи шаблону можуть мати будь-який тип, якщо в списку аргументів шаблону міститься ключове слово class або typename. або значення відповідного типу, якщо аргумент не є типом. Для виклику шаблону функції не потрібен особливий синтаксис, хоча, якщо параметри шаблону не можуть бути виведені з аргументів функції, то можуть знадобитися кутові дужки і аргументи шаблону.
Список-параметрів-шаблону є список параметрів, використовуваних шаблоном функції, які визначають, які компоненти наведеного нижче коду будуть варіюватися. наприклад:
Параметри шаблону, які не є типом, повинні мати цілочисельний тип або тип перерахування, покажчика, посилання або покажчика на член, а під час компіляції повинні бути константами. Вони визначаються з кваліфікаторів const або volatile. В параметрах шаблону не допускається використання значень з плаваючою комою. В параметрах шаблону не допускається використання об'єктів типу клас, структура або об'єднання, які не є типами, хоча покажчики на такі об'єкти допускаються. Масиви, що передаються параметрів шаблону, які не є типом, перетворюються в покажчики. Функції, що передаються в якості параметрів, які не є типом, розглядаються як покажчики на функції. В параметрах шаблону не допускається використання строкових літералів.
Шаблони класу можуть мати аргументи за умовчанням, що задаються за допомогою знака =. за яким слідує значення або тип за замовчуванням. Шаблони функцій не можуть мати аргументи за умовчанням. Додаткові відомості див. У розділі Аргументи за замовчуванням для шаблонів класів.
Параметри шаблону можуть повторно використання в списку параметрів шаблону. Наприклад, наведений нижче код допустимо:
Параметри шаблону самі можуть бути шаблонами. Ця конструкція означає, що аргумент сам повинен бути шаблоном, а не класом, створеним на основі шаблону. У наступному прикладі ім'я A параметра шаблона може бути опущено, оскільки він ні в якому разі не може використання.
Показ: успадкувала Захищений
Чи була ця сторінка корисною? Та ні
1500 символів Якого залишилося
Дякуємо! Дякуємо за відгук. Ваша думка дуже важлива для нас.