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

Как работает указатель на функцию? - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ [MPI] Ошибки линковки http://www.cyberforum.ru/cpp-beginners/thread792097.html
Надо было написать проект который складывает числа в массиве. И выводит сумму. Одно из требований использование MPI. Но при компиляции выбивает ошибку. Ошибка 1 error LNK1104: не удается открыть файл "libmmdd.lib" C:\PP\MPI\Project0\Project0\LINK Project0 // Project0.cpp: определяет точку входа для консольного приложения. // #include "stdafx.h" #include <iostream> #include <omp.h>...
C++ Стек и куча: как все это работает? Добрый вечер, подскажите пожалуйста хорошую литературу (сайты) по куче и стеку. Как оно все работает? Насколько я понял все статические переменные лежат в стеке. К примеру в программе есть несколько переменных: а, б и с. Значит где-то должен хранится адрес каждой из них? Как осуществляется доступ к переменным? Указатели (переменные) к примеру хранятся в стеке? Вообщем вопрос один где про это... http://www.cyberforum.ru/cpp-beginners/thread792084.html
Пошаговая отладка в CodeBlocks C++
Как пошагово выполнить программу в Codeblocks по строчке, видя значения всех переменных?
Найти максимальное значение функции C++
Найти максимальное значение функции t=(((a!-b!)*x+sin2(a!*x))/(b!+2tan(a*sqrt(b)))*cos(3*x) на интервале значений аргумента X – от Xi до Xe с шагом h.
C++ Программа которая меняет местами значение вещественных переменных а и в http://www.cyberforum.ru/cpp-beginners/thread792066.html
Программа которая меняет местами значение вещественных переменных а и в. Помогите пожалуйста!!))
C++ Пользователь вводит значение, вывести четное или нечетное оно Пользователь вводит значение, вывести четное или нечетное оно. подробнее

Показать сообщение отдельно
OhMyGodSoLong
~ Эврика! ~
1243 / 992 / 42
Регистрация: 24.07.2012
Сообщений: 2,002
21.02.2013, 23:38     Как работает указатель на функцию?
Все функции расположены где-то в памяти. Компилятор в курсе, где именно расположены те функции, которые вы прямо вызываете по имени в программе, поэтому их вызовы сразу заменяются на вызовы по адресу ещё во время компиляции. С помощью указателей на функции вы можете подсунуть нужный адрес не при компиляции, а во время исполнения программы. Принципиальная разница на этом заканчивается.

Не любое имя функции — это указатель на первую команду, а скорее получение указателя на функцию выглядит как имя. Не наоборот. Да и сам указатель — это не обязательно адрес первой команды. Это просто нечто, что позволяет вызвать функцию. Компилятор не обязан делать его адресом первой команды.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru