In the linked thread, NULL-semantics is used for a custom user-defined class.

 

For those you can of course define singletons with NULL-semantics or other special identities.

You could also write operator bool.

It is often done.

 

But that are actual object instances of that type.