Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

Указатели на функции (Прата) - не пойму, как это работает - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Как ограничить поле ввода только одним символом? А двумя? http://www.cyberforum.ru/cpp-beginners/thread1228219.html
Как ограничить поле ввода только одним символом? А двумя? Например чтобы сразу после нажатия клавиши(двух), программа переходила к следующей операции, не ожидая нажатия "ентер", либо же не давала...
C++ Невозможно запустить программу. Отсутствует libiconv-2.dll Запуск программы невозможен так как на компьютере отсутствует libiconv-2.dll.попробуйте переустановить программу Добавлено через 36 секунд Что нужно сделать? http://www.cyberforum.ru/cpp-beginners/thread1228210.html
C++ Неверная обработка данных при вводе двух и более величин
У меня по коду все правильно, при вводе одного значения n вывод верный. Если ввод включает 2 и больше значений n, то первое значение, остальные такое чувство, что не проверяет программа. Вот код:...
C++ Зависание потоков. Работа с файлами
Всем еще раз привет. Очень прошу помощи. Пишу на С++ под винду, с учетом специфики проекта выбор остановился на boost library. Пишу многопоточное приложение следующего вида: создается...
C++ Анализатор входящих сообщений сторонних ПО и сервисов http://www.cyberforum.ru/cpp-beginners/thread1228154.html
В WinAPI не силен, однако необходимо написать программу на С++, анализирующую входящие сообщения какого-нибудь сервиса обмена сообщениями, например вконтакте. По самому анализатору наброски есть,...
C++ Возожно ли создать массив указателей на шаблоны функций? Можно ли создать массив указателей на шаблоны функций, если да, то как? Пробовал вот так template <class my_type> void my_func( my_type* input_arr) потом пытался запихнуть my_type* как аргумент... подробнее

Показать сообщение отдельно
gru74ik
Модератор
Эксперт CЭксперт С++
4174 / 1822 / 198
Регистрация: 20.02.2013
Сообщений: 4,967
Записей в блоге: 21
19.07.2014, 21:02  [ТС]
Цитата Сообщение от Psilon Посмотреть сообщение
Всегда писал по второму варианту, сейчас увидел первый, удивился
Как-то так:
Цитата Сообщение от Стивен Прата
Язык программирования С++. Лекции и упражнения (2012, 6-е издание), глава 7, стр. 355:

История против логики
О, великий синтаксис! Как pf и (*pf) могут быть эквивалентными? Сторонники одной шко-
лы утверждают, что поскольку pf — указатель на функцию, то *pf — функция, поэтому вы
должны использовать для ее вызова (*pf) (). Сторонники другой школы придерживаются
мнения, что поскольку имя функции является указателем на эту функцию, то и любой указа-
тель на функцию должен вести себя как имя функции; отсюда вызов функции через указа-
тель следует записывать как pf (). Язык C++ придерживается компромиссной точки зрения
о том, что обе формы корректны, или, по крайней мере, допустимы, даже несмотря на то,
что они логически несовместимы. Прежде чем вы отвергнете компромисс и выберете для
себя одну форму, вспомните, что допущение несогласованных и логически несовместимых
представлений вполне присуще человеческому мышлению.
Добавлено через 4 минуты
Цитата Сообщение от zhvan Посмотреть сообщение
и все же разница между переменными есть, code в функции main(),
а lns в betsy и pam и доступна только в них
Это понятно (адреса переменных видны же на прикреплённом скриншоте).
Не понятно почему переменная в betsy() и переменная в pam() - это одна и та же переменная? Функции разные, имена переменных разные, а адрес у обеих один и тот же!
1
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru