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

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

Войти
Регистрация
Восстановить пароль
 
Аиас
17 / 17 / 1
Регистрация: 13.02.2011
Сообщений: 107
#1

Несколько значений в Return - C++

19.04.2011, 23:58. Просмотров 3969. Ответов 12
Метки нет (Все метки)

Как с помощью Return передать несколько значений, не создавая глобальных переменных?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.04.2011, 23:58
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Несколько значений в Return (C++):

Несколько return в функции - C++
Что будет, если написать несколько ретурнов в функции? Например: int (int x, int y) { return x; return y; }

Функция Return. Несколько аргументов - C++
Можно вернуть неслоко аргументов в функции return ? void progr1(int A, int B, int N ){ int X; int Y; int Z; Z=B; Y=A; ...

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

В чем разница между return и return false/true - C++
Привет всем. Вот подскажите плиз) return; return false; return true; расскажите пожалуйста об етих операторах.. чем они...

Как сделать так, что если файл существует return true, если нет - return false - C++
Здравствуйте, я новичок в программировании. Мой вопрос очень прост: как сделать так, что если файл существует return true если нет return...

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

12
Хохол
Эксперт С++
475 / 443 / 13
Регистрация: 20.11.2009
Сообщений: 1,292
20.04.2011, 00:05 #2
Никак.
0
ForEveR
В астрале
Эксперт С++
7988 / 4747 / 321
Регистрация: 24.06.2010
Сообщений: 10,547
Завершенные тесты: 3
20.04.2011, 00:15 #3
Аиас, Структура. Создать объект структуры. Запихнуть нужные данные. Вернуть структуру.
0
Аиас
17 / 17 / 1
Регистрация: 13.02.2011
Сообщений: 107
20.04.2011, 00:34  [ТС] #4
Цитата Сообщение от ForEveR Посмотреть сообщение
Аиас, Структура. Создать объект структуры. Запихнуть нужные данные. Вернуть структуру.
Я пытался но у меня что-то не получается , подскажить пожалуйста на простом примере как реализовать создание и возвращение простой структуры?
0
ForEveR
В астрале
Эксперт С++
7988 / 4747 / 321
Регистрация: 24.06.2010
Сообщений: 10,547
Завершенные тесты: 3
20.04.2011, 00:37 #5
Аиас, Например так в терминах С++.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
struct some
{
    some(int i = 0, double d = 0.0):i_par(i), d_par(d)
    {
    }
    int i_par;
    double d_par;
};
 
some test_return_foo(int i, double d)
{
    i+=5;
    d+=4.5;
    some s_ob(i, d);
    return s_ob;
}
2
Аиас
17 / 17 / 1
Регистрация: 13.02.2011
Сообщений: 107
20.04.2011, 01:18  [ТС] #6
Цитата Сообщение от ForEveR Посмотреть сообщение
Аиас, Например так в терминах С++.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
struct some
{
    some(int i = 0, double d = 0.0):i_par(i), d_par(d)
    {
    }
    int i_par;
    double d_par;
};
 
some test_return_foo(int i, double d)
{
    i+=5;
    d+=4.5;
    some s_ob(i, d);
    return s_ob;
}
А, ну до меня наконец дошло, это ж функция внизу У меня только среда вложенные структуры не поддерживает, но зато заработало вот так:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
struct some
{
some()
    {
    }
    int i_par;
    double d_par;
};
 
some test_return_foo(int i, double d)
{
    i+=5;
    d+=4.5;
   some s_ob;
   s_ob.i_par = i;
   s_ob.d_par = d;
   return s_ob;
}
0
Esso11
1 / 1 / 0
Регистрация: 20.08.2017
Сообщений: 100
05.02.2018, 04:29 #7
ForEveR, а можно планетарий к {
* * some(int i = 0, double d = 0.0):i_par(i), d_par(d)
* * с ":"
Что это значит и почему там оно стоит

Добавлено через 2 минуты
А можно коментарий к строчке кода: {
* * some(int i = 0, double d = 0.0):i_par(i), d_par(d)
* * {
* *
0
Antikl
с++
213 / 209 / 57
Регистрация: 15.07.2015
Сообщений: 1,080
Завершенные тесты: 6
05.02.2018, 07:09 #8
Цитата Сообщение от Esso11 Посмотреть сообщение
some(int i = 0, double d = 0.0):i_par(i), d_par(d)
конструктор
0
lArtl
113 / 42 / 16
Регистрация: 09.10.2014
Сообщений: 277
Завершенные тесты: 3
05.02.2018, 08:23 #9
Если с++17 компилятор поддерживает, то можно так
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <iostream>
#include <tuple>
#include <string>
auto foo()
{
    return std::make_tuple(std::string{ "string" }, 4, 5.6);
}
 
int main()
{
    auto[str, integer, dbl] = foo();
    std::cout << str << std::endl;
    std::cout << integer<< std::endl;
    std::cout << dbl << std::endl;
    std::cin.get();
}
0
Esso11
1 / 1 / 0
Регистрация: 20.08.2017
Сообщений: 100
05.02.2018, 13:58 #10
Antikl, :i_par(i), d_par(d) это вместо {i_par(i), d_par(d)} записи?
0
New man
130 / 68 / 16
Регистрация: 23.05.2011
Сообщений: 458
Завершенные тесты: 2
05.02.2018, 14:03 #11
Esso11, это вызов конструкторов полей с параметрами.
При создании объекта сначала вызываются конструкторы, перечисленные после двоеточия, затем выполняется часть в фигурных скобках.
0
alex white
224 / 183 / 57
Регистрация: 27.06.2016
Сообщений: 522
Завершенные тесты: 1
05.02.2018, 14:44 #12
lArtl, в C++17 ещё можно так:
C++
1
2
3
4
auto foo()
{
    return std::tuple(1, 4.5, std::string("Hello"));
}
0
Esso11
1 / 1 / 0
Регистрация: 20.08.2017
Сообщений: 100
05.02.2018, 15:20 #13
New man, если они уже определены и их типы указаны в конструкторе зачем их потом еще раз через двоеточие указывать? и после конструктора переназывать

Добавлено через 3 минуты
Я понял, вопрос снимается, извините за глупый вопрос! Спасибо форуму и всем участникам за помощь!
0
05.02.2018, 15:20
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
05.02.2018, 15:20
Привет! Вот еще темы с ответами:

Вернуть несколько значений из функции С++ - C++
Здравствуйте!!! Нужна помощь. В общем есть ДЛЛ написанная мною на плюсах в VS 2005,она подключается к проекту на vb 6.0. Сейчас все...

Как вернуть из функции несколько значений? - C++
Привет :) Собственно говоря вопрос понятен из темы) Вот код, не знаю как реализовать возвращение трёх вычислений (Площади, Диагонали и...

Как возвратить несколько значений в функции? - C++
Функция, реализующая обобщенный алгоритм Евклида. Нужно вернуть 3 значения: gcd, x и y. То есть нужно возвратить значения массива U....

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


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

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

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