1 / 1 / 0
Регистрация: 23.08.2015
Сообщений: 216
|
|
1 | |
Указатель на функцию возвращающую указатель14.12.2015, 07:19. Показов 4022. Ответов 18
Метки нет (Все метки)
Всем привет. Подскажите, пожалуйста, пример не очень сложной программы, в которой встречается указатель на функцию, принимающую параметр одного типа и возвращающую указатель на объект другого типа, т.е.
type1 *(*имя) (type2); например, вот такую int *(*name) (char)
0
|
14.12.2015, 07:19 | |
Ответы с готовыми решениями:
18
Как сделать функцию, возвращающую указатель на функцию (которая в свою очередь возвращает указатель на массив) Реализовать функцию, возвращающую указатель на наименьший элемент матрицы Функция, получающая указатель на обычную функцию, получает указатель на метод класса Указатель на функцию, которая принимает в качестве параметра указатель на массив |
584 / 387 / 216
Регистрация: 20.01.2013
Сообщений: 1,169
|
|||||||||||
14.12.2015, 09:51 | 2 | ||||||||||
Наверное как то так
oй
1
|
1373 / 596 / 199
Регистрация: 02.08.2011
Сообщений: 2,882
|
||||||
14.12.2015, 14:20 | 3 | |||||
1
|
1 / 1 / 0
Регистрация: 23.08.2015
Сообщений: 216
|
|
14.12.2015, 17:43 [ТС] | 4 |
egor2116, уточните, пожалуйста, что делает эта программа. Выводится число 99 на экран. Хотелось бы понять почему?
daslex, то есть строка 15 нам не нужна здесь?
0
|
2549 / 1208 / 358
Регистрация: 30.11.2013
Сообщений: 3,826
|
|
14.12.2015, 17:50 | 5 |
Показывает один из case'ов UB
http://rextester.com/SMJT2427 http://rextester.com/YGWWS44422 http://rextester.com/RIC18438 3 компилятора - 3 разные значения - вы, ТС, скажите почему такое поведение ?
2
|
1373 / 596 / 199
Регистрация: 02.08.2011
Сообщений: 2,882
|
||||||
14.12.2015, 17:55 | 6 | |||||
Она нужна если в коде больше чем одна функция и нужна не инициализация указателя адресом функции, а работа с указателем, показывающем на разные функции.
Кликните здесь для просмотра всего текста
1
|
1 / 1 / 0
Регистрация: 23.08.2015
Сообщений: 216
|
|
14.12.2015, 18:03 [ТС] | 7 |
rikimaru2013, что такое ub? По всей видимости, 99 - это значение для Visual Studio
daslex, большое спасибо, очень понятно объясняете
0
|
1 / 1 / 0
Регистрация: 23.08.2015
Сообщений: 216
|
|
14.12.2015, 18:11 [ТС] | 8 |
При запуске последнего кода появилось сообщение
0
|
daslex
|
14.12.2015, 18:25
#9
|
Не по теме: Попробуйте заново. Есть вероятность, что я выложил некорректный вариант и быстро его исправил, а вы его (некорректный) подхватить успели.
0
|
1 / 1 / 0
Регистрация: 23.08.2015
Сообщений: 216
|
|
14.12.2015, 18:37 [ТС] | 10 |
daslex, перепроверила, все-таки это окошко остается
0
|
1373 / 596 / 199
Регистрация: 02.08.2011
Сообщений: 2,882
|
|
14.12.2015, 18:51 | 12 |
Kastaneda, не должен. Когда вызывается функция (а она у меня однозначно вызывается) создается новый указатель, который я возвращаю. Его я удаляю. 2 вызова функции - 2 new, 2 delete.
0
|
1 / 1 / 0
Регистрация: 23.08.2015
Сообщений: 216
|
|
14.12.2015, 19:04 [ТС] | 13 |
daslex, А верно, если удаляю строку со вторым delete - то и окошко пропадает
0
|
1373 / 596 / 199
Регистрация: 02.08.2011
Сообщений: 2,882
|
||||||
14.12.2015, 19:14 | 15 | |||||
Сообщение было отмечено tst как решение
Решение
Нашел ошибку свою.
Вот.
1
|
1 / 1 / 0
Регистрация: 23.08.2015
Сообщений: 216
|
|
14.12.2015, 21:59 [ТС] | 16 |
Возник еще такой вопрос - есть функция int *foo(const char* ), в качестве аргумента которой const char*. Подскажите, пожалуйста, в чем смысл этого аргумента
0
|
1373 / 596 / 199
Регистрация: 02.08.2011
Сообщений: 2,882
|
|
14.12.2015, 23:12 | 17 |
0
|
1 / 1 / 0
Регистрация: 23.08.2015
Сообщений: 216
|
|
14.12.2015, 23:18 [ТС] | 18 |
А если в общем - он является константным указателем? - просто впервые сталкиваюсь с таким, обычно звездочка стояла перед именем
0
|
1373 / 596 / 199
Регистрация: 02.08.2011
Сообщений: 2,882
|
|||||||||||
15.12.2015, 00:29 | 19 | ||||||||||
1
|
15.12.2015, 00:29 | |
15.12.2015, 00:29 | |
Помогаю со студенческими работами здесь
19
Указатель на указатель массива для передачи в функцию/цикл Передача умного указателя в функцию принимающую указатель на указатель Написать функцию принимающую массив и возвращающую указатель на динамический массив Передать в неуправляемую функцию указатель на указатель Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |