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

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

Войти
Регистрация
Восстановить пароль
 
Welemir
3 / 3 / 0
Регистрация: 26.09.2009
Сообщений: 104
#1

С++ - указатель на функцию. - C++

16.10.2009, 23:08. Просмотров 439. Ответов 2
Метки нет (Все метки)

Вот такой вот кодик:

C++
1
2
3
4
5
6
7
int main() {
 
int *x = (int*) printf("%s","fuck!!!");
cout << *x;
getch();
    
}
Выводит строку,но потом следует ошибка Unhandled win32 exception;
Вопрос - можно ли манипулировать аргументами внутри функции printf() через её адрес ? Как по адресу объекта можно узнать его содержимое ?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.10.2009, 23:08
Здравствуйте! Я подобрал для вас темы с ответами на вопрос С++ - указатель на функцию. (C++):

Как сделать функцию, возвращающую указатель на функцию (которая в свою очередь возвращает указатель на массив) - C++
Изучаю c++ по одной книжке.Она говорить не умеет.. Так вот понадобилось написать функцию,которая как параметр получает указатель на...

В функцию-метод передать указатель на другую функцию-метод и вызвать через переданный указатель - C++
Друзья! Всем привет. Вот код: class otets { public: void f (void (otets::*p)()); private: void echo_f (){}; ...

Функция, получающая указатель на обычную функцию, получает указатель на метод класса - C++
Здравтсвуйте. Имеется вопрос по указателям на методы класса. Допустим, есть функция( f ), которая принимает указатель на функцию и...

Передача умного указателя в функцию принимающую указатель на указатель - C++
Итак имеется функция со следующим параметром: HRESULT __stdcall Function(SomeClass **param); В случае, когда создаём обычный...

Передать в неуправляемую функцию указатель на указатель - C++
Неуправляемая функция типа FUNC(int ** r); Делаю так fixed (int* ptr = arr) { FUNC((int **)ptr); ...

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

2
Somebody
2789 / 1600 / 145
Регистрация: 03.12.2007
Сообщений: 4,193
Завершенные тесты: 1
16.10.2009, 23:17 #2
Цитата Сообщение от Welemir Посмотреть сообщение
Выводит строку,но потом следует ошибка Unhandled win32 exception;
Логично. Результат printf - количество выведенных символов или отрицательное число при ошибке. Если привести это к int*, получается указатель неизвестно куда. То есть известно куда, но там ничего хорошего нет.
Цитата Сообщение от Welemir Посмотреть сообщение
Вопрос - можно ли манипулировать аргументами внутри функции printf() через её адрес ?
???
Цитата Сообщение от Welemir Посмотреть сообщение
Как по адресу объекта можно узнать его содержимое ?
Тут же и пример: cout << *x; // где *x - объект, на который указывает x.
0
Goodwin98
2517 / 813 / 9
Регистрация: 31.05.2009
Сообщений: 1,670
16.10.2009, 23:33 #3
Аргументы передаются функции при ее вызове, а не находятся внутри ее.
К тому же если вы думаете, что x станет аддресом функции, то вы ошиблись.
Нужно хотя бы так делать:
C++
1
2
int* x =(int*)  printf;
cout <<(int) x;
Цитата Сообщение от Welemir Посмотреть сообщение
по адресу объекта можно узнать его содержимое ?
Нельзя если вы не храните где-то эту информацию.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
16.10.2009, 23:33
Привет! Вот еще темы с ответами:

Работа с файлом (передать указатель на файл в функцию, вернуть указатель на файл из функции) - C++
Подскажите как передать указатель на файл в функцию, как вернуть указатель на файл из функции. void Open() // из этой функции вернуть...

Как передать параметр типа "указатель на указатель" в функцию? - C++
#include &quot;stdafx.h&quot; #include &lt;conio.h&gt; #include &lt;iostream&gt; using namespace std; #include &lt;iomanip&gt; using std::setiosflags; ...

Зачем передавать в функцию X указатель на callback функцию, если последняя ВНЕШНЯЯ и вызовется БЕЗО ВСЯКОГО УКАЗАТЕЛЯ? - C++
Собсно. То есть ребята, вот пример отсюда: http://www.cplusplus.com/reference/algorithm/count_if/ // count_if example #include...

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


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

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

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