Since you sound like you would know... if a constant is evaluated in an if statement in C++ then, on compiling, are the ifs evaluated and excluded that do not apply?

For example, if I have constant int b = 0 and later I have if (b == 1) { doSomething(); } then will the compiler itself exclude the entire thing since it will never = 1?

I'll assume ahead of time it probly depends on the compiler.. so I use.. uhh.. some Linux compiler (on RedHat). I don't run the actual linux box, so I don't have access to any documentation about the compiler. I guess for this question best guess would work.. not all that important to me, just curious as large amounts of debug (like you described) would take up a li`l bit of extra space.