|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
Результаты опроса: Функции имеют право изменять содержимое глобальных переменных? | |||
Да | 39 | 86.67% | |
Нет | 4 | 8.89% | |
Не знаю | 2 | 4.44% | |
Голосовавшие: 45. Вы ещё не голосовали в этом опросе |
|
|
Опции темы | Поиск в этой теме |
10.04.2010, 19:32 | #31 | |
Пользователь
Регистрация: 13.02.2009
Сообщений: 32
|
Цитата:
|
|
11.04.2010, 00:05 | #32 |
Телепат с дипломом
Старожил
Регистрация: 10.06.2007
Сообщений: 4,929
|
Круглое носим, квадратное катаем, зато по фэншую )
Это как в игре футбол. Ведь намного легче руками занести мяч в ворота, однако это был бы не футбол. Так и ЯП. Сделайте мне такой футбол, чтобы я мог отправлять мяч в ворота бандеролью не поднимаясь со скамейки )
The future is not a tablet with a 9" screen no more than the future was a 9" black & white screen in a box. It’s the paradigm that survives. (Kroc Camen)
Проверь себя! Онлайн тестирование | Мой блог Последний раз редактировалось mutabor; 11.04.2010 в 00:12. |
11.04.2010, 08:50 | #33 |
Форумчанин
Регистрация: 02.04.2010
Сообщений: 104
|
фень-шуй не фень-шуй ... , а организация приоритетов доступа на изменение глобальных переменых необходима.
Этим должны заниматься головная (родительская) функция (в СИ это main()) . По крайней мере , когда различные части проекта пишут разные люди... Вообще эта проблема решается в различных языках программирования. Mожно поглядеть Help |
11.04.2010, 11:14 | #34 |
Высокая репутация
СуперМодератор
Регистрация: 27.07.2008
Сообщений: 15,646
|
Есть 2 подхода организации доступа к глобальным переменным:
1. Глобальные переменные по умолчанию доступны во всех подпрограммах (типа, как в Паскале). 2. Если подпрограмма хочет использовать глобальную переменную, она должна явно указать, какие переменные ей нужны (типа, как в PHP). Так же кроме локальных переменных полезными могут оказаться статические переменные. E-Mail: arigato.freelance@gmail.com
|
12.04.2010, 09:13 | #35 |
Старожил
Регистрация: 29.01.2008
Сообщений: 2,406
|
Не знаю, по-пойму использование глобальных переменных уменьшает гибкость программы. Наверное не надо этим злаупотреблять, ну а старательно избегать, это уже паранойя
|
12.04.2010, 09:23 | #36 | |
ios developer
Старожил
Регистрация: 16.11.2007
Сообщений: 2,885
|
Цитата:
Зачем? Ну зачем это делать? Хоть один довод, пожалуйста, чем это оправдано? Имхо это из разряда безусловных переходов в яву.
Делайте что хотите, но чтобы через полчаса в лесу было светло, сухо и медведь!
Последний раз редактировалось crazy horse; 12.04.2010 в 09:27. |
|
12.04.2010, 09:28 | #37 | |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
Гибкость программы уменьшают кривые руки )
Если я грамотно буду работать с глобальными переменными то результат работы от того не пострадает что они глобальные. А по поводу топика - Если программист сказал "Прикрутить пятое колесо зайцу" то компилятор должен спросить "В какое место?" а не запрещать с криками "Я на тебя Гринпис нацькую" Цитата:
I'm learning to live...
|
|
12.04.2010, 09:49 | #38 | ||
ios developer
Старожил
Регистрация: 16.11.2007
Сообщений: 2,885
|
Цитата:
Цитата:
Зы. Нормальный компилятор должен откомпилить все, но в режиме строгача матюгнуться: обратите внимание, тут вот у вас лажа по моему скромному.
Делайте что хотите, но чтобы через полчаса в лесу было светло, сухо и медведь!
Последний раз редактировалось crazy horse; 12.04.2010 в 09:55. |
||
12.04.2010, 10:34 | #39 |
Старожил
Регистрация: 29.01.2008
Сообщений: 2,406
|
Почему же смертный грех? Вот у меня например есть глобальная переменная, в которую записывается путь к папке исполняемово файла, что бы постоянно не вызывать extractfilepath(application.exename ). И ничего незаконного здесь не вижу.
|
12.04.2010, 10:53 | #40 |
ios developer
Старожил
Регистрация: 16.11.2007
Сообщений: 2,885
|
Потому, что такие вещи принято записывать в свойства класса, который занимается общением с периферией. Тогда уж давайте и счетчики циклов в глобальных переменных хранить. А что, очень удобно и ничего противоестественного
У тебя же динамически берется этот путь во время выполнения программы? Ну и кто мешает упрятать всю эту логику вместе с переменными в один отдельный класc, чтоб глаза не мозолили?
Делайте что хотите, но чтобы через полчаса в лесу было светло, сухо и медведь!
Последний раз редактировалось crazy horse; 12.04.2010 в 10:58. |
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
присвоить из бд переменным | akimov_aleks | БД в Delphi | 6 | 07.04.2010 08:24 |
Построение графиков функций С++ (методы аппроксимации функций) | amdbodia | Общие вопросы C/C++ | 0 | 24.05.2009 15:28 |
использование функций в качестве параметров других функций | mono | Помощь студентам | 0 | 20.04.2009 18:25 |
проблема с глобальным объектом | Selebro | Общие вопросы C/C++ | 3 | 26.11.2008 20:22 |
Доступ к переменным | RealSHELS | Общие вопросы Delphi | 4 | 15.06.2008 13:14 |