Sorry but that's an old, tired argument that only occasionally gets aired these days. Running a pre-processor as part of the build process does not mean that Qt is not standard C++. Also, if you knew anything about the history of Microsoft you'd know they deserve all the stick they get for their abuse of standards - 'embrace and extend' was their philosophy, it sounds innocuous but the effects weren't.