Я могу придумать 2 способа.
1) Четкий путь: использовать троичный оператор (?:)
cout<<((ptr)?"":"NULL\n");
2) Гадкий путь, если вы действительно этого не делаетехотите использовать любые условные операторы.
cout<<&("NULL"[4*(!!ptr)]);
Почему это работает?
!! ptr установит значение ptr в 0 или 1 в зависимости от его значения.
Если это значение равно null, cout увидит символ *, начинающийся с индекса 0, и выведет «NULL», в противном случае он увидит его из индекса 4 и напечатает завершающий символ.
Этоочень плохой способ, поскольку nullptr может быть определен реализацией и может быть не переносимым.