Я видел ниже макрос во многих верхних заголовочных файлах:
#define NULL 0 // C++03
Во всем коде NULL
и 0
используются взаимозаменяемо. Если я изменю его на.
#define NULL nullptr // C++11
Может ли это вызвать какой-либо плохой побочный эффект? Я могу думать о единственном (хорошем) побочном эффекте, поскольку следующее использование станет плохо сформированным;
int i = NULL;