[*]Being able to treat a pointer as an int (0 or >0) to test whether it's valid or not.vs if (pointer != null)[/code]? That's a tiny difference at best (and in fact our company's C++ coding guidelines request that we avoid the first for clarity).Code:if (pointer)
This is by far the worst problem in C and C++, i.e. the lack of a real module system. How could you possibly prefer writing the same code *twice* in order to achieve anything?[*]Separate header and source files
Besides, have you ever written cross-platform C/C++ headers? I have and the amount of platform-specific hacks necessary is ridiculous (this was a C++ OpenGL header with proper namespaces, enums etc).
Aren't we all? Btw it's called C++1x now.I am just waiting for C++0x to make its debut, to improve the C++ syntax further.