В чем разница между шаблоном функции и функцией шаблона? - PullRequest
13 голосов
/ 13 июля 2009

В чем разница между шаблоном функции и функцией шаблона?

Ответы [ 4 ]

13 голосов
/ 13 июля 2009

Термин «шаблон функции» относится к типу шаблона. Термин «шаблонная функция» иногда используется для обозначения одного и того же, а иногда для обозначения функции, созданной из шаблона функции. Этой неоднозначности лучше всего избежать, используя «шаблон функции» для первого и что-то вроде «экземпляра шаблона функции» или «экземпляра шаблона функции» для второго. Обратите внимание, что шаблон функции не является функцией. То же самое различие применяется к «шаблону класса» и «шаблонному классу».

С это FAQ .

4 голосов
/ 13 июля 2009

Comeau Computing (производитель C ++ Comeau Compiler) имеет FAQ на своем сайте с ответом на этот вопрос:

В чем разница между функцией шаблона и шаблоном функции?

С уважением,
Ованес

1 голос
/ 13 июля 2009

Шаблон функции - правильная терминология (шаблон для создания экземпляров функций).

Функция шаблона является разговорным синонимом.

Итак, нет никакой разницы.

0 голосов
/ 27 октября 2018

Функция, сгенерированная компилятором из шаблона функции (универсальная функция) для указанного типа данных, называется функцией шаблона. Пример: Приведенный ниже код называется шаблоном функции, поскольку он является шаблоном для функции.

template<T>
T doubleVal(T a){
  return a+a;
 }
int main(){
  cout<<doubleVal<int>(5)<<endl;
}

Когда мы скомпилируем этот код, компилятор напишет функцию для int, взяв ссылку из функции шаблона. Эта функция называется функцией шаблона.

...