Recent versions of major compilers all support C++11 to varying degrees.
There is no compiler that supports it fully yet.
See this page for an overview: http://wiki.apache.org/stdcxx/C++0xCompilerSupport
Ok, I might, just might have totaly messed up my c++. I updated my gcc compiler with a version 4.6., the last one was 3.(something), and now it won't let me include iostream! it says something about some constant expresions blablabla... Anywho, is it possible to DOWNGRADE my gcc?
I don't see why you would want to do that. Purge your installation, then install Code::Blocks or wxDevC++, install the latest MinGW and set the toolchain path to the newly installed compiler.
I just went to the defount "look for upgrades" options, clicked gcc v. 4.6.2, and installed it. there is no way I messed something up.
Oh, and I erased my whole previous c++ and reinstalled it and now it works
It's what you call "c++". C++ is just a language specification, but to actually develop C++ applications, you need an IDE (consisting of an editor and all sorts of other tools) and/or a C++ compiler.
> How do I know which dialect of C++ am I programming with(
The problem is that to be able to check than from within C++, you need a compiler that defines the preprocessor macro __cplusplus as specified by the appropriate IS. (for instance GCC 4.7).
if __cplusplus == 199711L then it is C++98
if __cplusplus == 201103L then it is C++11
It is some sort of a C++ compiler all right, but:
Either: It is a pre-standard C++ compiler (before C++ had an International Standard)
Or: It is a compiler that does not define the preprocessor macro __cplusplus in accordance with the IS. (for example, GCC versions prior to 4.7)