|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
07.10.2009, 11:29 | #1 |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
Как узнать возвращается ли чему либо результат из функции?
Встал нетривиальный вопрос:
Есть функция: Код:
Так вот вопрос: Как мне в функции узнать будет ли возвращать она в какое нить выражение или просто выполняться? И если результат никуда не возвращается выполнить некое действие, например присвоить некой внутренней переменной тот результ дабы не пропал.
I'm learning to live...
|
07.10.2009, 11:56 | #2 |
Участник клуба
Регистрация: 12.10.2007
Сообщений: 1,204
|
Только если локальная переменная, которой затем присваивается результат функции, до вызова уже содержала какую-то строку. Дело в том, что на момент вызова result - ссылка на локальную переменную и значение не очищается, т.е. по сути вызов эквивалентен передаче var-параметра. Если же вызов идет "без возврата значения", компилятор подставляет временную локальную переменную.
Код:
|
07.10.2009, 12:23 | #3 | |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
Цитата:
При этом это ведь проверка мусора в памяти ) не-е-е так не надежно. Я думал мож какая директива есть...
I'm learning to live...
|
|
07.10.2009, 13:19 | #4 |
я получил эту роль
Старожил
Регистрация: 25.05.2007
Сообщений: 3,694
|
Внутри функции - нельзя, её код не зависит от того, вызвали её как функцию или как процедуру.
Код:
пыщь
|
07.10.2009, 14:02 | #5 | |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
Цитата:
I'm learning to live...
|
|
07.10.2009, 16:22 | #6 |
Старожил
Регистрация: 04.02.2009
Сообщений: 17,351
|
Сделай над функцией обертку
Код:
Маньяк-самоучка
Utkin появился в результате деления на нуль. Осторожно! Альтернативная логика |
07.10.2009, 16:38 | #7 |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
Код:
I'm learning to live...
|
07.10.2009, 16:45 | #8 |
Старожил
Регистрация: 04.02.2009
Сообщений: 17,351
|
В выражениях функция, где боишься за результат процедура.
Маньяк-самоучка
Utkin появился в результате деления на нуль. Осторожно! Альтернативная логика |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Можно ли использовать новую форму только дря хранения какого-либо(каких-либо) класса? | TwiX | Общие вопросы Delphi | 8 | 03.10.2009 11:06 |
Как узнать что в содержимое буфера обмена добавилось что либо? | zotox | Общие вопросы Delphi | 2 | 15.09.2009 12:07 |
Задача на Vba либо C++ либо Паскале | Fraerrrrr | Помощь студентам | 3 | 27.05.2009 15:30 |
Математика. Получить параметр функции зная результат | Stilet | Общие вопросы по программированию, компьютерный форум | 2 | 06.03.2009 08:51 |
как обращатся к чему либо | WOLFak | Общие вопросы Delphi | 3 | 13.02.2008 06:06 |