![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
![]()
Встал нетривиальный вопрос:
Есть функция: Код:
Так вот вопрос: Как мне в функции узнать будет ли возвращать она в какое нить выражение или просто выполняться? И если результат никуда не возвращается выполнить некое действие, например присвоить некой внутренней переменной тот результ дабы не пропал.
I'm learning to live...
|
![]() |
![]() |
![]() |
#2 |
Участник клуба
Регистрация: 12.10.2007
Сообщений: 1,204
|
![]()
Только если локальная переменная, которой затем присваивается результат функции, до вызова уже содержала какую-то строку. Дело в том, что на момент вызова result - ссылка на локальную переменную и значение не очищается, т.е. по сути вызов эквивалентен передаче var-параметра. Если же вызов идет "без возврата значения", компилятор подставляет временную локальную переменную.
Код:
|
![]() |
![]() |
![]() |
#3 | |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
![]() Цитата:
При этом это ведь проверка мусора в памяти ) не-е-е так не надежно. Я думал мож какая директива есть...
I'm learning to live...
|
|
![]() |
![]() |
![]() |
#4 |
я получил эту роль
Старожил
Регистрация: 25.05.2007
Сообщений: 3,694
|
![]()
Внутри функции - нельзя, её код не зависит от того, вызвали её как функцию или как процедуру.
Код:
пыщь
|
![]() |
![]() |
![]() |
#5 | |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
![]() Цитата:
I'm learning to live...
|
|
![]() |
![]() |
![]() |
#6 |
Старожил
Регистрация: 04.02.2009
Сообщений: 17,351
|
![]()
Сделай над функцией обертку
Код:
![]()
Маньяк-самоучка
Utkin появился в результате деления на нуль. Осторожно! Альтернативная логика ![]() |
![]() |
![]() |
![]() |
#7 |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
![]() Код:
I'm learning to live...
|
![]() |
![]() |
![]() |
#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 |