шаблон

Шабло́ны (англ. template) — средство языка C++, предназначенное для кодирования обобщённых алгоритмов, без привязки к некоторым параметрам (например, типам данных, размерам буферов, значениям по умолчанию).
В C++ возможно создание шаблонов функций и классов.
Шаблоны позволяют создавать параметризованные классы и функции. Параметром может быть любой тип или значение одного из допустимых типов (целое число, enum, указатель на любой объект с глобально доступным именем, ссылка). Например, нам нужен какой-то класс:

Для одной конкретной цели мы можем использовать этот класс. Но, вдруг, цель немного изменилась, и нужен еще один класс. Теперь нужно 30 элементов массива SomeArray и вещественный тип SomeValue элементов SomeArray. Тогда мы можем абстрагироваться от конкретных типов и использовать шаблоны с параметрами. Синтаксис: в начале перед объявлением класса декларируем шаблон, то есть template и укажем параметры в угловых скобках. В нашем примере:

Тогда для первого случая (с целочисленным SomeValue и SomeArray в 20 элементов) пишем:

для второго:

Хотя шаблоны предоставляют краткую форму записи участка кода, на самом деле их использование не сокращает исполняемый код, так как для каждого набора параметров компилятор создаёт отдельный экземпляр функции или класса. Как следствие, исчезает возможность совместного использования скомпилированного кода в рамках разделяемых библиотек.

Посмотреть больше на Wikipedia.org
  • 2

    Dems_dd

    Владыка темных земель
    • Сообщения
      1,829
    • Статьи
      287
    • Комментарии к статье
      1
    • Ресурсы
      18
    • Медиа
      3,751
    • Альбомы
      9
    • Решения
      6
    • Реакции
      671
    • Баллы
      1,172
    • Кол-во розыгрышей
      2
  • Назад
    Сверху