Re: Объявление глобальных переменных в c.
Anton Petrusevich -> debian-russian@lists.debian.org @ Fri, 5 May 2006 23:00:57 +0200:
>> Но вообще так делать без КРАЙНЕЙ необходимости не рекомендуется. Разве
>> что у тебя эта переменная - константа.
AP> Это ещё почему? "КРАЙНЯЯ" необходимость может быть продиктована
AP> просто некоторым удобством решения конкретной задачи, мы ж не знаем
AP> что там за задача. А про религиозное "в программе не должно быть
AP> глобальных переменных" лучше не надо. Меня, например, напрягает
AP> передавать каждому объекту ссылку на объект, который ведёт лог
AP> программы.
Авторов юникса, видимо, тоже напрягало. Поэтому есть _функция_ syslog.
В принципе, вообще в таких случаях стараются сделать именно функцию,
которая возвращает нужное значение (указатель на объект, если надо).
Тогда у тебя гарантированно скрыты детали реализации. А что бывает,
когда так не делают сразу, можно посмотреть на примере "переменной"
errno в случае с тредами. Проблему решили, конечно, но не могу сказать,
чтобы решение было офигительно прямым...
--
Artem Chuprina
RFC2822: <ran{}ran.pp.ru> Jabber: ran@jabber.ran.pp.ru
Танк - это не фаллический символ. Он просто _едет_...
(С)энта
Reply to: