Хорошие аналогии указателя функции? - PullRequest
5 голосов
/ 24 мая 2009

Лучшее, что я придумал на данный момент, это то, что в карточном каталоге содержатся инструкции о том, как приготовить различные виды пищи. Он не содержит информацию о том, как готовить пищу, а также инструкции по приготовлению самой еды, но он может указать вам соответствующие инструкции, которые находятся в другом месте. Это хорошая аналогия, потому что она демонстрирует гибкость в способности готовить различные виды пищи (мексиканская, вегетарианская, индийская и т. Д.), Но понятие карточного каталога быстро заменяется компьютеризированным поиском. Меня спросили страшные "Что такое карточный каталог?" Использование Google в качестве примера поиска инструкций по приготовлению пищи - это нормально, но нет четкого различия в том, чтобы идти в физическое место, находить инструкции и «выполнять их». У кого-нибудь есть какие-нибудь аналогии, которые работали на них?

Ответы [ 11 ]

0 голосов
/ 24 мая 2009

Я бы сказал, что указатель на функцию похож на «адрес реализации» на конкретную «объявленную спецификацию» (если только вы не обрабатываете пустоты). Объясните, что компилятор проверяет тип указателя, чтобы убедиться, что вы используете спецификацию с правильной реализацией, и что реализация - это просто блок инструкций, ожидающих определенного соглашения о вызовах.

не аналогия , но, вероятно, проще.

...