At this very moment I'm using Code::Blocks for my C++ apps. A few minutes ago I found MS VE 2010 on their website and I wondered if it was better. (it's an IDE, right? :p) Is it only for Visual c++ or can you also make console apps.
Also, are there any particular advantages over other IDE's?
Try it and see if you like it. I tried code blocks but then realized that I hated the user interface. On the other hand VSE is a free version so I am not sure if code blocks offers additional services that you don't get with VSE. VSE is a pretty good IDE with nice debugging capabilities but it is really up to you to try and it figure out if it provides everything that you need.
Code::Blocks is more extensible, supports multiple compilers and languages and allows the user to create project templates.
Things that you don't get on VC++Express
Yes, VSE can create console apps, not just Windows apps. The debugger is indeed nice, and the code editor in the 2010 version is superior to others. But for native C/C++ applications, use whatever you're more comfortable with.
Microsoft's IDE has by far, the best debugger in the industry. Unless you want to write Windows-only applications, there's no real advantage to using Visual C++ Express except for the debugger IMO.
Code::Blocks is a very nice IDE (10.05 just came out a few days ago too), and I find it has superior project management, auto-complete, and a few other nice features (it's very easy to set up command line options for the C++ compiler, for example) and is cross-platform so I can use it in Linux and on my Mac as well. THe debugger is pretty 'meh' but I attribute that to the fact that the gnu debugger (gdb) just sucks badly so it didn't really give much for the devs to work with.
The Netbeans IDE with C++ plugin blows both of them out of the water IMO, is cross-platform as well (it's written in Java) and supports more languages than just C++ (I use it for Python, C++, HTML/CSS/PHP, and Java). Debugging C++, like Code::Blocks, is meh as well..but like I said...gdb sucks balls.