Модераторы: Daevaorn
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> NULL или 0? кто как пишет 
:(
    Опции темы
Artiom
Дата 10.3.2005, 19:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1031
Регистрация: 11.3.2003
Где: Минск\Баку

Репутация: нет
Всего: 17



Кто чем пользуется? NULL или 0? Я для собственного удобства пишу всегда
Код

AnyType* a = NULL;

Но в книжках у солидных дядек всё время читаю рекомендации использовать 0 вместо NULL. Есть какая-то разумная аргументация по этому вопросу или это исключительно вопрос стиля?


--------------------
Если тебя жизнь трахает, значит, ты ещё живой
PM MAIL ICQ   Вверх
srd
Дата 10.3.2005, 19:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Нереварин
**


Профиль
Группа: Участник Клуба
Сообщений: 951
Регистрация: 30.8.2003
Где: Владивосток

Репутация: 27
Всего: 49



Совсем недавно эта тема обсуждалась. В старых реализациях Си++ NULL, как наследство от Си, мог быть определён не как 0, а как, например, (void *)0, (long *)0 и т.п., что приводило к проблемам при компиляции, т.к. Си++ более строг к присваиванию указателей разных типов, чем Си. Отсюда рекомендация использовать 0 вместо NULL. В любой современной стандартной реализации Си++ макрос NULL должен быть определён только как 0, потому, что использовать - теперь вопрос только стиля.

Это сообщение отредактировал(а) srd - 10.3.2005, 19:58


--------------------
Не смей читать мою подпись!!!
PM MAIL Jabber   Вверх
En_t_end
Дата 10.3.2005, 20:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 2074
Регистрация: 4.12.2004

Репутация: 1
Всего: 20



Кстати совсем недавно Максим1000 развеял мои ламерские знания относительно NULL, это константа, причем по ходу она не равна нулю, как таковому. Использоваться может(корректно) только для указателей. ЗЫ а я то думал, эта константа нужна, чтобы код красивей был и применял её направо и налево ))))
PM MAIL ICQ Skype GTalk Jabber   Вверх
Artiom
Дата 10.3.2005, 20:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1031
Регистрация: 11.3.2003
Где: Минск\Баку

Репутация: нет
Всего: 17



Цитата(srd @ 10.3.2005, 18:55)
Совсем недавно эта тема обсуждалась.

sorry, не видел


--------------------
Если тебя жизнь трахает, значит, ты ещё живой
PM MAIL ICQ   Вверх
gepard
Дата 11.3.2005, 05:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник
Сообщений: 2477
Регистрация: 29.2.2004

Репутация: 2
Всего: 40



0 я лично юзаю


--------------------
Когда начинаются цифровые войны, а траффик разносит моё сознание по бесконечным просторам инета, подобно ветру, разносящему листву по полям, тогда и только тогда я чувствую себя свободным!
© Я, Берсерк, что значит - Неистовый. 
PM MAIL WWW ICQ   Вверх
chipset
Дата 11.3.2005, 12:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 4071
Регистрация: 11.1.2003
Где: Seattle, US

Репутация: 27
Всего: 164



Всегда использовал NULL, ибо мало ли..


--------------------
Цитата(Jimi Hendrix)
Well, I stand up next to a mountain
And I chop it down with the edge of my hand
PM MAIL WWW   Вверх
PrograLamer
Дата 11.3.2005, 16:39 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Смотря для каких целей, если ето цифровая константа то конечно "0", а если это обьект, указатель то конечно NULL, который заменяет инициализирующее значение, допустим для сокета ты не напишешь
*socket = 0, a *socket = NULL
Во вторых NULL всегда используется в кроссплатформенных приложениях, так как под разные платформы эта константа различна

  Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++:Общие вопросы"
Earnest Daevaorn

Добро пожаловать!

  • Черновик стандарта C++ (за октябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика(4.4мб).
  • Черновик стандарта C (за сентябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика (3.4мб).
  • Прежде чем задать вопрос, прочтите это и/или это!
  • Здесь хранится весь мировой запас ссылок на документы, связанные с C++ :)
  • Не брезгуйте пользоваться тегами [code=cpp][/code].
  • Пожалуйста, не просите написать за вас программы в этом разделе - для этого существует "Центр Помощи".
  • C++ FAQ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0808 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.