|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
03.01.2012, 16:32 | #1 |
Форумчанин
Регистрация: 20.10.2011
Сообщений: 433
|
Как работать с возвращенным множеством?
К примеру, есть функция, которая призвана разгрузить майн от ввода. Все значения нужно вернуть в майн, что бы дальше с ними работать, но вот как с ними работать?
Код:
Код:
|
03.01.2012, 16:38 | #2 |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
возвращаете вы не множество а лишь последнюю переменную.
может вам применить массив? Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
03.01.2012, 16:53 | #3 |
Форумчанин
Регистрация: 20.10.2011
Сообщений: 433
|
Может, я просто думал что если перечислить переменные, то они все и возвратяться )
Спс, за совет, учту. |
03.01.2012, 16:54 | #4 | ||||
Пользователь
Регистрация: 02.01.2012
Сообщений: 25
|
привет.
Цитата:
Цитата:
Цитата:
и последнее, Цитата:
|
||||
03.01.2012, 18:01 | #5 | |
Старожил
Регистрация: 16.12.2011
Сообщений: 2,329
|
Цитата:
Тут дело не в том, что return возвращает только что-то одно. А дело в том, почему вообще такой код компилируется, и что возвращается на самом деле? На самом деле, символ "," в исходном коде на с++ это полноценный оператор. Вот такой вот не очевидный факт. И как и у всех прочих операторов, поведение оператор "запятая" прописано в стандарте. Смысл оператора запятой заключается в следующем: "результатом вычисления выражения будет являться результат вычислений последнего выражения стоящего в самой правой части вычисляемых выражений". Пример на всевдокоде: (a,b); //все что в скобках - это выражение, результат которого нужно //вычислить и подставить вместо скобочек Оператор "запятая" говорит компилятору, что в качестве результата выражения подставить нужно результат выражения b Пример на настоящем коде: Предположим, очень сильно понадобилась красивая удобная функция, для работы со стандартным гсч: Код:
Она иницилизурется нулём, и одновременно срабатывает функция srand(), что и приводит с настоящей инициализации seed рандома. Но сама по себе srand() возвращает void, а статик переменную нужно инициализировать чем то существенным. Поэтому и пришлось завести вторую функцию, которая запустит srand, и в то же время вернёт ноль, позволив seed проинициализироваться. Теперь все тоже самое, только с помощью оператор "запятая" Пример наглядно демонстиррует, как с помощью запятой можно угробить читабельность кода, но при этом появляется возможность запихивать в одно предложение сколько угодно "левых" действий: Код:
А в скобках получается: (srand( (size_t)time(NULL) ), 0) Сначала выполнится все, что до запятой: srand( (size_t)time(NULL) ) А потом, благодаря свойству оператора "запятая", результатом выражения все равно окажется то, что после запятой - то бишь, нолик. Таким образом, используя оператор "запятая", можно в одно предложение запихивать несколько действий, и манипулировать типами возвращаемых значений. Ну или вот ещё простой пример: Код:
Последний раз редактировалось _Bers; 03.01.2012 в 18:12. |
|
03.01.2012, 23:49 | #6 |
Старожил
Регистрация: 19.08.2009
Сообщений: 2,119
|
L6go1as
Все значения нужно вернуть в майн, что бы дальше с ними работать, но вот как с ними работать? Код:
А вы почему со мной не соглашаетесь, у вас что, импотенция? (c) ACE Valery
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Задание с массивами и множеством | Mr_sniper | Паскаль, Turbo Pascal, PascalABC.NET | 3 | 04.10.2011 10:55 |
Программа с множеством подпрограмм. | Pushin | Общие вопросы Delphi | 8 | 15.05.2011 15:24 |
MySQL сравнение множества с множеством. | vedro-compota | SQL, базы данных | 6 | 31.01.2011 14:05 |
Помогите разобраться с множеством | albatros | Общие вопросы Delphi | 2 | 22.02.2009 15:33 |
Проблемы с одним клиентом и множеством серверов | Maxxon | Работа с сетью в Delphi | 5 | 28.08.2007 17:27 |