Сообщение Re[17]: Для чего шаблонной функции нужна особая сигнатура? от 25.01.2023 4:34
Изменено 25.01.2023 4:36 vopl
ЕМ>Здравствуйте, vopl, Вы писали:
V>>я бы не сказал что "шаблонная функция" это давно устоявшееся выражение в литературе и документации, по крайней мере с тем смыслом, которым оно наделено в данном топике (инстанция шаблона функции).
ЕМ>An instantiated function is often called a function instance (instance for short) or a template function.
ЕМ>The compiler creates an instance of the template by replacing the T with the specific type with which we call the template function
ЕМ>The terms function template and template function are sometimes used interchangeably. Strictly, however, a function template is a declaration that specifies a family of overloaded functions. [...] A template function, then, is just an instance of a function template...
ЕМ>The term "function template" refers to a kind of template. The term "template function" is sometimes used to mean the same thing, and sometimes to mean a function instantiated from a function template. This ambiguity is best avoided by using "function template" for the former and something like "function template instance" or "instance of a function template" for the latter.
ЕМ>Вообще, что в русском, что в английском, "шаблоном функции" (function template) сам экземпляр не называют никогда. А вот "шаблонной функцией" (template function) и там, и там могут называть как сам шаблон, так и вызываемое воплощение. При этом смысл, как правило, ясен из контекста.
Согласен, есть вольности в терминологии, и в принципе можно говорить что иногда термин "template function" применяется то там то сям. Но его смысл растекается. Вот в последнем приведенном материале, ты даже сам цитату правильную вырезал: https://womble.decadent.org.uk/c++/template-faq.html
The term "function template" refers to a kind of template. The term "template function" is sometimes used to mean the same thing, and sometimes to mean a function instantiated from a function template. This ambiguity is best avoided by using "function template" for the former and something like "function template instance" or "instance of a function template" for the latter
То есть, нет никакого "давно устоявшегося выражения в литературе и документации", сплошной разброд и шатание В текущем топике лично мне таки было понятно, что ты назвал этим термином, но это не значит что все остальные должны так же с ходу раскусывать контекст именно так как ты его подразумевал, просто потому что этот термин плавающий.
ЕМ>Ну и часто встречающийся термин non-template function кагбэ намекает, что функция, "не имеющая шаблона", "не порожденная из шаблона", "не заданная шаблоном" и т.п., является "нешаблонной функцией".
Ничего они не формируют. Приведенные измышления выглядят как сугубо субъективные
ЕМ>Здравствуйте, vopl, Вы писали:
V>>я бы не сказал что "шаблонная функция" это давно устоявшееся выражение в литературе и документации, по крайней мере с тем смыслом, которым оно наделено в данном топике (инстанция шаблона функции).
ЕМ>An instantiated function is often called a function instance (instance for short) or a template function.
ЕМ>The compiler creates an instance of the template by replacing the T with the specific type with which we call the template function
ЕМ>The terms function template and template function are sometimes used interchangeably. Strictly, however, a function template is a declaration that specifies a family of overloaded functions. [...] A template function, then, is just an instance of a function template...
ЕМ>The term "function template" refers to a kind of template. The term "template function" is sometimes used to mean the same thing, and sometimes to mean a function instantiated from a function template. This ambiguity is best avoided by using "function template" for the former and something like "function template instance" or "instance of a function template" for the latter.
ЕМ>Вообще, что в русском, что в английском, "шаблоном функции" (function template) сам экземпляр не называют никогда. А вот "шаблонной функцией" (template function) и там, и там могут называть как сам шаблон, так и вызываемое воплощение. При этом смысл, как правило, ясен из контекста.
Согласен, есть вольности в терминологии, и в принципе можно говорить что иногда термин "template function" применяется то там то сям. Но его смысл растекается. Вот в последнем приведенном материале, ты даже сам цитату правильную вырезал: https://womble.decadent.org.uk/c++/template-faq.html
The term "function template" refers to a kind of template. The term "template function" is sometimes used to mean the same thing, and sometimes to mean a function instantiated from a function template. This ambiguity is best avoided by using "function template" for the former and something like "function template instance" or "instance of a function template" for the latter
То есть, нет никакого "давно устоявшегося выражения в литературе и документации", сплошной разброд и шатание В текущем топике лично мне таки было понятно, что ты назвал этим термином, но это не значит что все остальные должны так же с ходу раскусывать контекст именно так как ты его подразумевал, просто потому что этот термин плавающий.
ЕМ>Ну и часто встречающийся термин non-template function кагбэ намекает, что функция, "не имеющая шаблона", "не порожденная из шаблона", "не заданная шаблоном" и т.п., является "нешаблонной функцией".
Ничего он не намекает. Приведенные измышления выглядят как сугубо субъективные