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

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

Войти
Регистрация
Восстановить пароль
 
Hesh00
0 / 0 / 0
Регистрация: 01.03.2012
Сообщений: 11
#1

Вызов функции в возврате значения функции - C++

21.11.2012, 23:02. Просмотров 615. Ответов 3
Метки нет (Все метки)

Есть функция:
C
1
2
3
4
5
int function1(a)
{
......
return function2(function1(b),function1(c));
}
Как работает такая хитрая система?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.11.2012, 23:02
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Вызов функции в возврате значения функции (C++):

Затираются значения при возврате из функции initializer_list - C++
Дарова. Объясните, почему при возврате объекта инитиализер_лист из функции значения этого листа трутся #include <iostream> using...

Функции (вызов и тип возвращаемого значения) - C++
Доброй ночи! Кто может помочь мне по следующей задачей? Есть динамический массив в main(): double *m=new double ; Есть функция...

Вызов функции для определения максимального и мин значения в массиве - C++
Выдает ошибку на строках:r = maxima(a ); и k = minima(a); что делать? #include "iostream" using namespace std; int main()...

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

Особенности использования указателей и ссылок в C++ при возврате из функции - C++
Пусть у нас есть некий класс CBase и есть функция, которая создает и возвращает объект класса CBase. Создать она его может стеке или в...

Как избежать копирования вектора, при возврате его из функции? - C++
Вопрос простой. В классе есть поле вектор, член - данные. Методом я возвращаю его const std::vector< unsigned char >&...

3
DU
1484 / 1130 / 45
Регистрация: 05.12.2011
Сообщений: 2,279
21.11.2012, 23:05 #2
смотрите что такое рекурсия. по другому это можно записать так:
C++
1
2
3
4
5
6
7
int function1(a)
{
......
const int i1 = function1(b); // рекурсивный вызов
const int i2 = function1(c); // рекурсивный вызов
return function2(i1, i2);
}
1
Hesh00
0 / 0 / 0
Регистрация: 01.03.2012
Сообщений: 11
21.11.2012, 23:11  [ТС] #3
А
C
1
return function2(i1, i2);
это просто вызов функции function2 с передачей в неё аргументов i1, i2?
0
DU
1484 / 1130 / 45
Регистрация: 05.12.2011
Сообщений: 2,279
21.11.2012, 23:23 #4
да. чтобы было еще понятнее:
C++
1
2
3
4
5
6
7
8
int function1(a)
{
......
const int i1 = function1(b); // рекурсивный вызов
const int i2 = function1(c); // рекурсивный вызов
const int result = function2(i1, i2);
return result;
}
1
21.11.2012, 23:23
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
21.11.2012, 23:23
Привет! Вот еще темы с ответами:

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

Вызов функции внутри другой функции с передачей локальной переменной по ссылке - C++
Столкнулся с очень с интересной проблемой. Можно ли так делать? #include <iostream> using std::cout; void f(const int &ref){...

Вызов родовой функции (нужно передать массив в качестве аргумента функции через указатель) - C++
#include <iostream> using namespace std; template <class T1> class mas { public: T1 n; T1 a; void input() ...

Вызов функции в параметре другой функции - C++
программа: #include <iostream> using namespace std; struct E { E() {} }; void f(const E& e)


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

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

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