Re[2]: шаблонный параметр в std::function
От: Fedor Sumkin
Дата: 30.05.11 20:21
Оценка:
Здравствуйте, rg45, Вы писали:

r> FS>Как такое возможно(особенно запись double(double)) и как такое соотносится с компиляторами и стандартом?


r> Нормальная запись, которая обозначает тип функции с одним параметром типа double и типом возвраемого значения double. Запись double(double) — это "голый" тип, без идентификатора. Добавлять идентификатор, если он понадобится, в этом случае нужно не в конец записи, а перед скобкой: double foo(double);


Впервые слышу про термин "голый тип", но понятно — что это сигнатура метода и она как-то трактуется компилятором при шаблонной подстановке как указатель на функцию. К сожалению я не знаю с++ template-preprocessors, а было бы интересно посмотреть какой в итоге код получается при подстановке типа double(double) в метод. Все-таки по-видимому подобные шаблонные параметры реализованы на уровне компилятора, а не на уровне С++.

Осталось только понять, как согласуется со всем сказанным стандарт.
avalon 1.0rc3 rev 419, zlib 1.2.5
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.