It's very simply. :?
You mean simple?
In this case != NULL is best (in fact you could use != nullptr in C::B), because you're documenting that this is a check for NULL.
"!!" is very confusing for people not seen this before...
Also why do you create the locker on the heap, probably some commenting will be good, this is way to non trivial code you've written.