С Новым годом! Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.79/34: Рейтинг темы: голосов - 34, средняя оценка - 4.79
184 / 24 / 4
Регистрация: 18.01.2011
Сообщений: 359

Глобальные указатели. Плохо или хорошо?

20.02.2012, 17:21. Показов 7172. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Уважаемые знатоки, хотел уточнить один вопрос.
Дело в том, что я использую глобальные указатели на объекты.
Сами объекты создаются по ходу работы программы.
Слышал такое мнение, что указатели плохо иметь глобальными, по этому решил узнать мнение специалистов. Желательно с обоснованием точки зрения. Спасибо.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
20.02.2012, 17:21
Ответы с готовыми решениями:

Средний балл - хорошо или плохо
С клавиатуры вводятся оценки студента, объемом n, определить средний балл и вывести "хорошо", если средний балл 4 и выше, в...

реализация класса в .h файле хорошо или плохо?
все знакомые мне ide разделяют класс на два файла: .h с описанием и .cpp с кодом, но, например, в boost .hpp файлы почти всегда содержат и...

Переменные на русском языке - хорошо или плохо?
в mvs 2012 заметил возможность в проектах c++ переменным, функциям, классам давать русско-буквенные имена. как вы относитесь к...

4
Полярный
 Аватар для dimcoder
477 / 449 / 158
Регистрация: 11.09.2011
Сообщений: 1,156
20.02.2012, 17:28
С чего плохо? Тут больше вопрос хорошо ли использовать глобальные переменные. Плохо иметь кучу глобальных переменных и одну функцию, где они используются - зачем делать их глобальными? Если используете указатель в нескольких функциях - то используйте.
1
Эксперт С++
5058 / 3118 / 271
Регистрация: 11.11.2009
Сообщений: 7,044
20.02.2012, 17:37
Андрей2011, не только указатели, плохо вообще использовать глобальные переменные. Если есть возможность не использовать их - не надо их использовать.
Обоснование - стандартно: во-первых, усложняется понимание программы (невозможно понять, к чему относится глобальная переменная, хоть с некоторой долей конкретики). Во-вторых, легко испортить переменную (ведь не просто же так используется глобальная переменная, а для передачи значений между частями программы; так вот, между "возвращающей" значение и "принимающей" его функциями можно случайно испортить значение и долго и упорно трассировать программу для поиска бага). Ну, и в-третьих (если говорить об ООП), ООП было придумано для того, чтобы решить главную проблему структурного программирования: несвязность данных и методов их обработки. В ООП данные и методы объединены в типы, а вы с помощью глобальной переменной отбрасываете это и снова делаете данные не связанными с методами обработки.
1
184 / 24 / 4
Регистрация: 18.01.2011
Сообщений: 359
20.02.2012, 17:45  [ТС]
Нет нет...у меня вот как реализовано. Я массив объектов создаю по ходу работы пограммы. т.е. массив объектов увеличивается поступательно. а указатель на массив он у меня глобальный.
так его использовать проще. Но мне вот сказали что это плохо. Указаели именно плохо. А про переменные я знаю.
0
Эксперт С++
5058 / 3118 / 271
Регистрация: 11.11.2009
Сообщений: 7,044
20.02.2012, 17:55
Андрей2011, ваши функции получаются неуниверсальными. Если вы вдруг захотите использовать их в другом проекте - одним из препятствий станет глобальная переменная, к которой они привязаны. Куда правильнее будет передавать указатель на массив с помощью параметров функций.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
20.02.2012, 17:55
Помогаю со студенческими работами здесь

Статические функции-члены - хорошо или плохо?
Всем привет. Приведу пример такой архитектуры. Есть базовый интерфейс. От него наследуются много конкретных. И есть фабрика,...

Такой способ создание экземпляра класса хорошо или плохо?
Объясните пожалуйста в чем есть плохо создавать экземпляр класса вот так? class A{ /*.....*/ }objA; нежели так :

Глобальные указатели
Добрый день! Почему при написании ниже приведённого кода могут возникнуть проблемы? File1: int a; int *pa = &a; File2: ...

Ссылки - хорошо или плохо?
Сразу извиняюсь, не смог придумать более вменяемое название. А проблема вот в чем - создаю граф, для каждого ребра и вершины есть...

Многопоточность - хорошо или плохо?
Начал писать программы с многопоточностью. Имею 64х AMD 4-ядерный. Ранее думал, что на таком процессоре можно создать лишь 4 потома -...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/ O1rJuneU_ls https:/ / vkvideo. ru/ video-115721503_456239114
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR ВВЕДЕНИЕ Введу сокращения: аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi ветка по-частям. коммит Create переделка под биомассу. txt вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
Расчёт токов в цепи постоянного тока
igorrr37 05.01.2026
/ * Дана цепь постоянного тока с сопротивлениями и напряжениями. Надо найти токи в ветвях. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа и решает её. Последовательность действий:. . .
Новый CodeBlocs. Версия 25.03
palva 04.01.2026
Оказывается, недавно вышла новая версия CodeBlocks за номером 25. 03. Когда-то давно я возился с только что вышедшей тогда версией 20. 03. С тех пор я давно снёс всё с компьютера и забыл. Теперь. . .
Модель микоризы: классовый агентный подход
anaschu 02.01.2026
Раньше это было два гриба и бактерия. Теперь три гриба, растение. И на уровне агентов добавится между грибами или бактериями взаимодействий. До того я пробовал подход через многомерные массивы,. . .
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru