Указатель на квайн-функцию
От: Mr.Delphist  
Дата: 15.02.18 09:54
Оценка: 5 (1) :)
Привет,

Вчера вечером в голову пролезла дурная идея: а можно ли на C++ написать typedef, задающий указатель на функцию? Конечно, можно, ответил мозг. А можно ли, чтобы эта функция принимала параметром другую такую же функцию (или даже несколько), не унималась дурная идея. И чтобы возвращала результатом тоже указатель на такую же функцию. Ну, помнишь, как в шутке про auto auto(auto)?

В общем, вот. Можно ли описать как-то подобную квайн-функцию? В лоб — не получается, компилятор не понимает тип параметра функции, потому что не скомпилировал ещё сам тайпдеф на функцию. Шаблонная магия?

typedef int (*foo)(char); // OK

typedef bar (*bar)(bar); // Скажи квайнам нет!
typedef bar (*bar)(bar,bar);


P.S. Практического смысла тут никакого — просто флюктуация нейронной активности.
P.P.S. Ни одно вещество не пострадало.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.