Варианты A:Как выбрать нулевой указатель на C++?
if (NULL == pSomethingColumn) // Yes, we use Yoda conditions
if (NULL != pSomethingColumn)
Или
if (pSomethingColumn)
if (!pSomethingColumn)
Я ищу ссылки, объясняющих рассуждения, а также.
Я слышал, что некоторые люди говорят, что технически NULL
не обязательно должен быть указан как 0
, но давай! если бы это было так, то присоска (наше приложение) потерпела бы крах в -2147483648
разными способами.
Итак, если NULL != 0
, то у нас будут большие проблемы.
Пожалуйста, помогите мне решить бессмысленное обсуждение синтаксиса. Я не особенно привязан ни к какому пути; просто ищет официальный путь. Благодарю.
P.S. Мы используем компилятор Visual Studio C++.
Я уверен, что 'NULL' должно быть 0 на любом соответствующем компиляторе. – dreamlax
@dreamlax, можете ли вы придумать ссылку/ссылку? –
@Hamish Grubijan: C++ standard 4.10 «Константа нулевого указателя является интегральным постоянным выражением (5.19) rvalue целочисленного типа, который оценивается в 0». и 18.1 «Макрос NULL - это константа нулевого указателя C++, определяемая реализацией». Сноски на одной странице показывают, что '0' и' 0L' действительны для 'NULL', но не' (void *) 0'. – dreamlax