Информация об изменениях

Сообщение Re[17]: Для чего шаблонной функции нужна особая сигнатура? от 25.01.2023 4:34

Изменено 25.01.2023 4:36 vopl

Re[17]: Для чего шаблонной функции нужна особая сигнатура?
Здравствуйте, Евгений Музыченко, Вы писали:

ЕМ>Здравствуйте, 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 кагбэ намекает, что функция, "не имеющая шаблона", "не порожденная из шаблона", "не заданная шаблоном" и т.п., является "нешаблонной функцией".


Ничего они не формируют. Приведенные измышления выглядят как сугубо субъективные
Re[17]: Для чего шаблонной функции нужна особая сигнатура?
Здравствуйте, Евгений Музыченко, Вы писали:

ЕМ>Здравствуйте, 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 кагбэ намекает, что функция, "не имеющая шаблона", "не порожденная из шаблона", "не заданная шаблоном" и т.п., является "нешаблонной функцией".


Ничего он не намекает. Приведенные измышления выглядят как сугубо субъективные