![]() |
Модераторы: Daevaorn |
![]() ![]() ![]() |
|
Artiom |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1031 Регистрация: 11.3.2003 Где: Минск\Баку Репутация: нет Всего: 17 |
Кто чем пользуется? NULL или 0? Я для собственного удобства пишу всегда
Но в книжках у солидных дядек всё время читаю рекомендации использовать 0 вместо NULL. Есть какая-то разумная аргументация по этому вопросу или это исключительно вопрос стиля? -------------------- Если тебя жизнь трахает, значит, ты ещё живой |
|||
|
||||
srd |
|
|||
![]() Нереварин ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 951 Регистрация: 30.8.2003 Где: Владивосток Репутация: 27 Всего: 49 |
Совсем недавно эта тема обсуждалась. В старых реализациях Си++ NULL, как наследство от Си, мог быть определён не как 0, а как, например, (void *)0, (long *)0 и т.п., что приводило к проблемам при компиляции, т.к. Си++ более строг к присваиванию указателей разных типов, чем Си. Отсюда рекомендация использовать 0 вместо NULL. В любой современной стандартной реализации Си++ макрос NULL должен быть определён только как 0, потому, что использовать - теперь вопрос только стиля.
Это сообщение отредактировал(а) srd - 10.3.2005, 19:58 -------------------- Не смей читать мою подпись!!! |
|||
|
||||
En_t_end |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2074 Регистрация: 4.12.2004 Репутация: 1 Всего: 20 |
Кстати совсем недавно Максим1000 развеял мои ламерские знания относительно NULL, это константа, причем по ходу она не равна нулю, как таковому. Использоваться может(корректно) только для указателей. ЗЫ а я то думал, эта константа нужна, чтобы код красивей был и применял её направо и налево ))))
|
|||
|
||||
Artiom |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1031 Регистрация: 11.3.2003 Где: Минск\Баку Репутация: нет Всего: 17 |
sorry, не видел -------------------- Если тебя жизнь трахает, значит, ты ещё живой |
|||
|
||||
gepard |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2477 Регистрация: 29.2.2004 Репутация: 2 Всего: 40 |
0 я лично юзаю
-------------------- Когда начинаются цифровые войны, а траффик разносит моё сознание по бесконечным просторам инета, подобно ветру, разносящему листву по полям, тогда и только тогда я чувствую себя свободным! © Я, Берсерк, что значит - Неистовый. |
|||
|
||||
chipset |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 4071 Регистрация: 11.1.2003 Где: Seattle, US Репутация: 27 Всего: 164 |
Всегда использовал NULL, ибо мало ли..
--------------------
|
|||
|
||||
PrograLamer |
|
|||
Unregistered |
Смотря для каких целей, если ето цифровая константа то конечно "0", а если это обьект, указатель то конечно NULL, который заменяет инициализирующее значение, допустим для сокета ты не напишешь
*socket = 0, a *socket = NULL Во вторых NULL всегда используется в кроссплатформенных приложениях, так как под разные платформы эта константа различна |
|||
|
||||
![]() ![]() ![]() |
Правила форума "С++:Общие вопросы" | |
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |