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

C++

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 11, средняя оценка - 4.82
Second
79 / 80 / 1
Регистрация: 10.08.2011
Сообщений: 665
#1

Функция - C++

12.03.2013, 01:14. Просмотров 1385. Ответов 23
Метки нет (Все метки)

Подскажите пожалуйста, может ли в С++ функция возвращать себя, как значение ? И как это реализовано в коде.
Я провожу параллели с Pascal и немного запутался...
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.03.2013, 01:14
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Функция (C++):

Функция - C++
даны действительные числа s,t. Получить:

Функция copy - C++
Задача: скопировать файл .exe допустим из C:\Documents and Settings\Пользователь\Рабочий стол\test.exe в D:\ Проблема: пробовал все...

callback функция - C++
Здраствуйте!!! Занимаюсь разработкой снифера под DVB-карту. Пытаюсь получить MPEG-поток. Проблема заключается в том, что необходимо...

Функция kbhit - C++
Это опять я:) Не работает kbhit Нужно, чтобы во время рисования кривой Гильберта большого порядка пользователь имел возможность...

дружественная функция... - C++
есть вот такой код: #include <iostream.h> #include <math.h> #include <conio.h> class plane { float...

Функция wait - C++
Доброго времени суток. Передо мной встал вопрос на который я не могу дать ответ, может ктонибудь знает. Вопрос: определить, что должно...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Tulosba
:)
Эксперт С++
4396 / 3239 / 297
Регистрация: 19.02.2013
Сообщений: 9,045
12.03.2013, 08:55 #2
Цитата Сообщение от Second Посмотреть сообщение
Подскажите пожалуйста, может ли в С++ функция возвращать себя, как значение ? И как это реализовано в коде.
Я провожу параллели с Pascal и немного запутался...
Рекурсия что ли нужна? Приведите код на паскале, а то параллелей плохо видно без него.
0
Second
79 / 80 / 1
Регистрация: 10.08.2011
Сообщений: 665
12.03.2013, 09:35  [ТС] #3
Я частично разобрался... и это не рекурсия. Скорее всего уже неактуально, я все сам понял.
0
Dmitriy_M
1349 / 1230 / 114
Регистрация: 20.03.2009
Сообщений: 4,420
Записей в блоге: 11
13.03.2013, 10:47 #4
Цитата Сообщение от Second Посмотреть сообщение
Подскажите пожалуйста, может ли в С++ функция возвращать себя, как значение ?
может.
0
Tulosba
:)
Эксперт С++
4396 / 3239 / 297
Регистрация: 19.02.2013
Сообщений: 9,045
13.03.2013, 11:04 #5
Цитата Сообщение от Dmitriy_M Посмотреть сообщение
может.
Dmitriy_M, а не могли бы пояснить, как Вы интерпретировали вопрос тс?
0
Dmitriy_M
1349 / 1230 / 114
Регистрация: 20.03.2009
Сообщений: 4,420
Записей в блоге: 11
13.03.2013, 11:27 #6
Цитата Сообщение от Tulosba Посмотреть сообщение
не могли бы пояснить, как Вы интерпретировали вопрос тс?
Может ли в С++ функция возвращать себя, как значение.
0
Tulosba
:)
Эксперт С++
4396 / 3239 / 297
Регистрация: 19.02.2013
Сообщений: 9,045
13.03.2013, 11:50 #7
Цитата Сообщение от Dmitriy_M Посмотреть сообщение
Может ли в С++ функция возвращать себя, как значение.
Примерчик бы посмотреть, потому что я всё равно не понимаю о чем речь.
0
Dmitriy_M
1349 / 1230 / 114
Регистрация: 20.03.2009
Сообщений: 4,420
Записей в блоге: 11
13.03.2013, 18:30 #8
Цитата Сообщение от Tulosba Посмотреть сообщение
Примерчик бы посмотреть, потому что я всё равно не понимаю о чем речь.
На функцию возвращающий указатель на функцию? Так это тривиально.
0
Tulosba
:)
Эксперт С++
4396 / 3239 / 297
Регистрация: 19.02.2013
Сообщений: 9,045
13.03.2013, 20:14 #9
Цитата Сообщение от Dmitriy_M Посмотреть сообщение
На функцию возвращающий указатель на функцию? Так это тривиально.
Функцию, возвращающую указатель на себя?
0
Croessmah
Эксперт CЭксперт С++
13226 / 7498 / 845
Регистрация: 27.09.2012
Сообщений: 18,416
Записей в блоге: 3
Завершенные тесты: 1
14.03.2013, 08:36 #10
Цитата Сообщение от Dmitriy_M Посмотреть сообщение
Так это тривиально.
Пример в студию
0
gray_fox
What a waste!
1520 / 1223 / 70
Регистрация: 21.04.2012
Сообщений: 2,560
Завершенные тесты: 3
14.03.2013, 13:33 #11
Цитата Сообщение от Croessmah Посмотреть сообщение
Пример в студию
+, на тип возвращаемого значения бы взглянуть)
0
Dmitriy_M
1349 / 1230 / 114
Регистрация: 20.03.2009
Сообщений: 4,420
Записей в блоге: 11
14.03.2013, 17:54 #12
Цитата Сообщение от gray_fox Посмотреть сообщение
+, на тип возвращаемого значения бы взглянуть)
void* конечно же.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <iostream>
 
typedef void* (*t_functor)();
 
void* foo()
{
    std::cout<<"abc"<<std::endl;
    return reinterpret_cast<void*>(&foo);   
}
 
int main()
{
    reinterpret_cast<t_functor>(foo())();   
    return 0;   
}
0
Tulosba
:)
Эксперт С++
4396 / 3239 / 297
Регистрация: 19.02.2013
Сообщений: 9,045
14.03.2013, 18:02 #13
Цитата Сообщение от Dmitriy_M Посмотреть сообщение
void* конечно же.
Не типобезопасно. К тому же
warning: ISO C++ forbids casting between pointer-to-function and pointer-to-object
0
Croessmah
Эксперт CЭксперт С++
13226 / 7498 / 845
Регистрация: 27.09.2012
Сообщений: 18,416
Записей в блоге: 3
Завершенные тесты: 1
14.03.2013, 18:14 #14
Цитата Сообщение от Dmitriy_M Посмотреть сообщение
void* конечно же.
тогда вы возвращаете указатель на что-то, а не на функцию
0
Dmitriy_M
1349 / 1230 / 114
Регистрация: 20.03.2009
Сообщений: 4,420
Записей в блоге: 11
14.03.2013, 21:58 #15
Цитата Сообщение от Tulosba Посмотреть сообщение
Не типобезопасно.
Что такое тип? А жесткая типизация это хорошо или плохо?
Цитата Сообщение от Tulosba Посмотреть сообщение
warning: ISO C++ forbids casting between pointer-to-function and pointer-to-object
Вопрос на засыпку, почему компилятор проглотил?)
Цитата Сообщение от Croessmah Посмотреть сообщение
тогда вы возвращаете указатель на что-то, а не на функцию
С точки зрения ТЯП да, а в остальном вопрос философский. В архитектуре фон Немана нет разделения памяти на данные и команды, как нужно так и интерпретирую память)
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
14.03.2013, 21:58
Привет! Вот еще темы с ответами:

Функция DeviceIoControl - C++
Мне нужно полное описание функции DeviceIoControl или подскажите книгу, где можно найти ее описание

Функция rand - C++
Решить задачу с использованием библиотечной функции rand,заголовочный файл stdlib.h Случайные числа в диапазоне от -32768 до 32768 можно...

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

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


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
14.03.2013, 21:58
Ответ Создать тему
Опции темы

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