powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / Глобальные переменные vs статические переменные
12 сообщений из 12, страница 1 из 1
Глобальные переменные vs статические переменные
    #38101799
Byka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый вечер, у меня возник вопрос:

Глобальные переменные - это плохо? Всегда ли их нужно заменять статическими переменными при возможности?

Суть то в чем: Когда глобальная переменная меняется во время выполнения программы, то очень трудно разобраться, что ее изменило? Т.е. глобальная переменная видна везде, что может повлечь неожиданное изменение переменной которой пользуются все? При том, что статическая переменная видна только в экземплярах класса в котором она объявлена? Существуют ли случаи, когда глобальная переменная предпочтительнее?
...
Рейтинг: 0 / 0
Глобальные переменные vs статические переменные
    #38101805
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BykaВсегда ли их нужно заменять статическими переменными при возможности?

Статическими переменными их заменять бессмысленно. Надо заменять локальными переменными
или полями класса.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Глобальные переменные vs статические переменные
    #38101814
Byka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dimitry Sibiryakov, т.е. все же, глобальных переменных лучше избегать всегда, и стараться заменить сказанными Вами способами?
...
Рейтинг: 0 / 0
Глобальные переменные vs статические переменные
    #38101819
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Bykaвсегда
Мозг надо использовать. И избегать трюков, приводящих к проблемам.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Глобальные переменные vs статические переменные
    #38101833
Byka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dimitry Sibiryakov, но в каких случаях переменную можно оставить глобальной? когда ее значение не требуется менять? но тогда ее объявляют как константу, пусть даже глобальную..и это уже другой случай. Простите, но не понимаю, в каких случаях "выгодней" глобальная переменная?
...
Рейтинг: 0 / 0
Глобальные переменные vs статические переменные
    #38101839
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Bykaно в каких случаях переменную можно оставить глобальной?
Повторяю ещё раз, медленно: когда это не создаёт проблем в настоящем и будущем.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Глобальные переменные vs статические переменные
    #38101844
Byka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dimitry Sibiryakov, приведите пример, пожалуйста, когда это не приведет к проблемам в настоящем и будущем?
...
Рейтинг: 0 / 0
Глобальные переменные vs статические переменные
    #38101849
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Bykaприведите пример, пожалуйста, когда это не приведет к проблемам в настоящем и
будущем?
Однопоточная программа под Windows или с правильным списком экспорта.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Глобальные переменные vs статические переменные
    #38101861
Byka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dimitry Sibiryakov, с первым ясно, а что значит список экспорта? перечень имен программных модулей, доступных для других модулей?
...
Рейтинг: 0 / 0
Глобальные переменные vs статические переменные
    #38101865
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Bykaа что значит список экспорта?
Именно это и значит: список символов, экспортируемых исполняемым модулем.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Глобальные переменные vs статические переменные
    #38101868
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Глобальные переменные - это плохо?

Нет. Ни плохо, и ни хорошо.

Всегда ли их нужно заменять статическими переменными при возможности?

По возможности -- нужно. Как бы если у тебя есть возможность объявить глобальную переменную статической,
то надо так и делать. Но как бы глобальные переменные в этом случае и не делают никогда. Поэтому не очень и понятна
идея о "нужно заменять".

Суть то в чем: Когда глобальная переменная меняется во время выполнения программы, то очень трудно разобраться, что ее изменило?

Ну... Когда как, в общем-то можно и в рантайме в дебагере точку прерывания поставить по записи в память переменной.

Т.е. глобальная переменная видна везде, что может повлечь неожиданное изменение переменной которой пользуются все?

Как бы если она глобальная, то это -- её НЕОБХОДИМОЕ и полезное свойство, иначе её не делали бы глобальной.

При том, что статическая переменная видна только в экземплярах класса в котором она объявлена?

Это статический член класса, а не глобальная переменная. Видна она там, где разрешиш её видеть.

Существуют ли случаи, когда глобальная переменная предпочтительнее?

Да, когда нужна именно глобальная переменная. Когда это -- зависит от дизайна.
...
Рейтинг: 0 / 0
Глобальные переменные vs статические переменные
    #38101911
Byka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо всем за ответы. Вопрос глуповат теперь кажется.
...
Рейтинг: 0 / 0
12 сообщений из 12, страница 1 из 1
Форумы / C++ [игнор отключен] [закрыт для гостей] / Глобальные переменные vs статические переменные
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]