Я постоянно слышу, что глобальные переменные должны никогда не использоваться , но я склонен отклонять правила " никогда " какгоряч.Неужели нет никаких исключений?
Например, я сейчас пишу небольшую игру на c ++ с SDL.Мне кажется, имеет смысл иметь глобальную переменную с указателем на экранный буфер, потому что все разные классы, представляющие разные типы вещей в игре, должны будут к ней прибегнуть, и есть только одинэкранный буфер.
Пожалуйста, скажите мне, если я прав, что есть исключения, или если нет, то:
- Почему бы не , или что в них такого плохого, что ониследует избегать любой ценой (пожалуйста, объясните немного)
- Как этого достичь , желательно без необходимости передавать его каждому конструктору для внутреннего хранениядо необходимости или при каждом вызове запроса paint ().
(я мог бы предположить, что этот вопрос задавался ранее в SO, однако не смог найти то, что мне нужно (объяснение и обходной путь)) при поиске. Если кто-то может просто опубликовать ссылку на предыдущий вопрос, это может быть здорово)