Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2002.07.25;
Скачать: [xml.tar.bz2];

Вниз

Мастера, дайте пожалуйста совет!   Найти похожие ветки 

 
^Sanya   (2002-07-14 16:37) [0]

[Убедительная просьба вникнуть в суть вопроса]
Следует ли глобально объявлять переменные, используемые локально в различных методах, при чётком контроле доступа к ним(переменным)? Или всё-таки, если мне в трёх процедурах нужно использовать string, желательно локализовать каждую? Я прекрасно понимаю, что можно поступать и так, и так (в одном случае - кода меньше, но опасней(если не следить за переменными) и памяти забивается больше, в другом - наоборот ), но посоветуйте, как это делают обычно?


 
Anatoly Podgoretsky   (2002-07-14 17:07) [1]

Ты что имешь ввиду под локальностью - область видимости или способ размещения?
Нет никаких обоснованных причин увеличивать область видимости сверх необходимой.
Если область видимости процедура, то ею и должно ограничиваться, если моддуль то соответственно
Про размещение, в эом случае подразумевается размещение не стеке, и ни требует ни на один байт больше, точнее наоборот, сумммарная потребность в памяти меньше, так как память использвется динамически и автоматически.
Насчет кода, как правило для глобальных переменных нужно писать или столько же кода или больше, если требуется контроль и синхронизация доступа. Для локальных это не требуется, по своей природе имеют необходимую защиту


 
Юрий Зотов   (2002-07-14 17:53) [2]

> Anatoly Podgoretsky © (14.07.02 17:07)
Указано - ... в различных методах ...

> ^Sanya © (14.07.02 16:37)
Локально лучше. Динамическое выделение памяти - раз. Надежность - два. А для счетчиков циклов for - так даже вне всяких сомнений (компилятор строит более эффективный код).


 
Anatoly Podgoretsky   (2002-07-14 18:20) [3]

глобально объявлять переменные, используемые локально в различных методах :-)



Страницы: 1 вся ветка

Форум: "Основная";
Текущий архив: 2002.07.25;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.45 MB
Время: 0.006 c
14-81460
Mike B.
2002-06-27 14:29
2002.07.25
Груша


1-81213
SPeller
2002-07-14 09:22
2002.07.25
Пристыковать TCanvas к TCustomPanel


1-81291
QWest
2002-07-09 09:31
2002.07.25
Имя пользователя.


1-81227
lensky
2002-07-14 12:31
2002.07.25
Функция вызывающая метод и ждущая событие


3-81126
Grrey
2002-07-02 15:32
2002.07.25
Как удалить UDF в IB базе?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский