[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

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: