Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
The_Immortal
1551 / 487 / 8
Регистрация: 04.04.2009
Сообщений: 1,891
#1

Использование глобальных переменных - моветон ли? - C++

13.06.2012, 19:56. Просмотров 667. Ответов 2
Метки нет (Все метки)

Ребят, очень часто вижу как отцы С++, когда проверяют чей-то код и обнаруживают там глобальные переменные, заявляют, что это не хорошо, что это моветон.

Так ли это на самом деле и собственно почему так?


Спасибо!
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.06.2012, 19:56     Использование глобальных переменных - моветон ли?
Посмотрите здесь:

Объявление глобальных переменных - C++
#include "stdafx.h" #include <conio.h> #include <stdio.h> void main (int x, int y) { printf ("x="); scanf_s ("x=&d",...

поиск глобальных переменных с++ - C++
Есть задачка, которую не могу решить. Дано 9000 .cpp файлов, которые являют собой полноценные программы со своими мейнами. Нужно найти для...

Определение глобальных переменных - C++
Доброго времени суток! Интересует следующий вопрос - Возможно ли определение глобальных переменных в теле подпрограмм или классов? ...

Инициализация глобальных переменных - C++
Требуется инициализировать 2 массива и 2 переменные, которые используются в 2-х функциях, с клавиатуры, но без передачи их в качестве...

Описание глобальных переменных - C++
помогите, плиз, с такой незадачей.. в каком из файлов нужно обозначить глобальные переменные, чтоб код нормально читался. вот что у меня...

Исправить без использования глобальных переменных - C++
#include<iostream> using namespace std; int a,n,maximum=-1000,x; void zapros() { cout<<"Vvedite razmer massiva"<<endl; } ...

Ошибка в сравнении глобальных переменных в функциях - C++
Здравствуйте! Я всю жизнь писал на Pascal и с С столкнулся впервые пару дней назад, когда начал эксперементировать с Arduino. Поискал...

Объявление глобальных переменных в проекте Dev C++ - C++
Доброй ночи всем! Подскажите, пожалуйста, как правильно объявить глобальные переменные в проекте. У меня есть один файл, например, для...

Массив (переписать без глобальных переменных) - C++
Помогите написать ету програму без глобальных переменных #include <cstdlib> #include <iostream> using namespace std; ...

Вынос глобальных переменных в отдельный файл - C++
Всем привет! Вопрос такой - сижу разбираюсь с вынесением функций в отдельные файлы. Что удалось выяснить - подключая через #include файл...

Как избавиться от глобальных переменных в многофайловом проекте на С++? - C++
Некоторые глобальные переменные можно заменить на глобальные константы. Долго промучилась с проектом, но на попытках избавления от...

Как написать программу, не используя глобальных переменных? - C++
Добрый день! Подскажите пожалуйста, как написать программу, не используя глобальных переменных? К примеру есть две функции: Input и...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Paporotnik
383 / 227 / 7
Регистрация: 06.07.2011
Сообщений: 512
13.06.2012, 20:11     Использование глобальных переменных - моветон ли? #2
да, в подавляющем большинстве случаев.
такой код сложно редактировать, программистам нужно держать в голове лишнюю информацию, а читающим просто будет не ясно, откуда взялся этот идентификатор.

если нужны более подробные аргументы, то С. Макконелл "Совершенный код", глава 13.3)
easybudda
Эксперт CЭксперт С++
9465 / 5478 / 927
Регистрация: 25.07.2009
Сообщений: 10,501
13.06.2012, 20:45     Использование глобальных переменных - моветон ли? #3
The_Immortal, практически во всех книжках по программированию (не только по С/С++), которые читал, есть предупреждение по поводу использования глобальных переменных, и сводятся они, как правило, примерно к одному и тому же. Вот, что Отцы-Основатели по этому поводу пишут:
Следует отметить тенденцию все переменные делать внешними. Дело в том, что, как может показаться на первый взгляд, это приводит к упрощению связей - ведь списки аргументов становятся короче, а переменные доступны везде, где они нужны; однако они оказываются доступными и там, где не нужны. Так что черезмерный упор на внешние переменные чреват большими опасностями - он приводит к созданию программ, в которых связи по данным не очевидны, поскольку переменные могут неожиданным и даже таинственным способом изменяться. Кроме того, такая программа с трудом поддаётся модификациям.
КиР, глава первая, стих десятый.
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru