Как использовать NULL в файле .cpp?

Сейчас я изучаю единственный экземпляр (на c ++) и попробовал следующий код в моем файле .cpp.

#include "OnlyInstance.h"
OnlyInstance* OnlyInstance::instance = NULL;
..........

но компилятор сказал мне «ошибка C2065:« NULL »: необъявленный идентификатор».
Так значит, я должен

#include <stdio.h>

перед ней? Но я также включил stdio.h в основной файл. Так что stdio.h будет включен много раз при компиляции, верно? Как я могу использовать NULL правильно?

Другой вопрос заключается в том, что я знаю, что могу использовать 0 вместо NULL, но какой способ больше рекомендуется в c ++?

3

Решение

NULL определяется в различных заголовках, например в <cstddef>,

Вы должны однако предпочесть nullptr над NULL если ваш компилятор поддерживает это.

Включение заголовка несколько раз — не проблема (если заголовок ужасно не сломан, чего нет в стандартных заголовках).

11

Другие решения

NULL — это только определение со значением 0. Это точно то же самое.

Но если у вас есть доступ к C ++ 11, я бы порекомендовал использовать nullptr.

5

По вопросам рекламы [email protected]