I assume this just returns an int. Is there anything else going on I should be aware of? C/C++ differences?
float a = 2.5; !a; // What does this return? Int?
See for yourself:
#include int main() { float a = 2.5; if ( !a ) std::cout << !a << "\n"; else std::cout << !a << "\n"; }