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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
ViktorKozlov
133 / 125 / 2
Регистрация: 13.12.2012
Сообщений: 293
#1

Адрес функции - C++

23.02.2013, 20:59. Просмотров 680. Ответов 2
Метки нет (Все метки)

Доброго времени суток

Допустим, хочу узнать адрес функции

C++
1
2
3
4
5
void fnc(){}
 
int main() {
    cout<<&fnc<<endl;
}
Почему выводится один адрес, а в отладчике показывается совсем другой? И какой из них верный?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.02.2013, 20:59
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Адрес функции (C++):

Функция возвращает адрес , как передать этот адрес другой функции ? - C++
const int max = 5; double * fill_array(double, int); void show_array(const double, double *); // как передать этой функции в...

Адрес функции - C++
Как узнать адрес функции? Посмотрел дизассемблер IDA. Очень удобная программа, но не могу разобраться, как получить адрес. Там вызов...

Адрес функции - C++
Здравствуйте. Имеется программа с одной функцией. При любом изменении кода и повторной компиляции изменяется адрес этой функции. Можно...

Как узнать адрес функции Winexec - C++
Пробовал через IDA, вроде нашел, но не сработал Через Ollydbg не могу найти

Получение прототипа функции имея ее адрес - C++
здравствуйте!, писать, и разбираться в программировании на C++ только начал, поэтому если вопрос покажется глупым, не обессудьте) ...

Вернуть адрес виртуальной функции с помощью __asm вставки - C++
Есть: class two{ public: }; class one{

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
DU
1483 / 1059 / 45
Регистрация: 05.12.2011
Сообщений: 2,279
23.02.2013, 21:20 #2
тот, который выводится. вот так еще отладчиком посмотреть можно:
C++
1
2
3
4
5
6
7
8
9
10
11
#include <iostream>
 
void f() {}
 
int main()
{
    typedef void (*FuncPtr)();
    FuncPtr fptr = &f;
    std::cout << fptr << std::endl;
    return 0;
}
ViktorKozlov
133 / 125 / 2
Регистрация: 13.12.2012
Сообщений: 293
23.02.2013, 21:39  [ТС] #3
Понятно. А что за адрес тогда в отладчике выводится? И можно ли узнать его "напрямую", без использования указателя?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
23.02.2013, 21:39
Привет! Вот еще темы с ответами:

Не получается адрес динамического двумерного массива передать, как аргумент функции - C++
/* Лабораторная работа №3 Во всех вариантах необходимо написать три функции, которые будут вызываться из функции main(). Первая...

Адрес объекта, адрес указателя. Где что находится? - C++
#include &lt;iostream&gt; void Foo(int* val) { std::cout &lt;&lt; val &lt;&lt; &quot; &quot; &lt;&lt; *val &lt;&lt; &quot; &quot; &lt;&lt; &amp;val &lt;&lt; '\n'; } void Bar(int* &amp;val) ...

Убедиться, что адрес первого элемента массива и адрес, хранящийся в указатели на этот массив равны. - C++
Убедиться, что адрес первого элемента массива и адрес, хранящийся в указатели на этот массив - равны.

Функции. Как после одного возвратного значения функции отталкиваться от возврата другой функции - C++
Написал код, в котором 2 функции одна возвращает стринговое значение, вторая должна бы вернуть значение, отталкиваясь от первой. Возможно...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru