I've been taught since high school that defining variables like this:
should be consider bad practice because this would eventually puzzle compilers that use variables starting with an underscore to name temporary variables.
As far as I know this is the reason why some people like to move the underscore at the end of the name, like:
However, I see a lot of code all around that makes use of underscore-starting variables. And that code builds fairly well with both Visual Studio 2010 and g++ 4.x.
So I wonder: is this a non-issue nowadays? Are modern compilers smarter about naming conventions?