[This question is related to but not the same as this one.]
My compiler warns about implicitly converting or casting certain types to bool whereas explicit
The performance is identical across the board. It involves a couple of instructions on x86, maybe 3 on some other architectures.
On x86 / VC++, they all do
cmp DWORD PTR [whatever], 0 setne al
GCC generates the same thing, but without the warnings (at any warning-level).