Just adding my grain of salt here. Disclaimer: these are all just my humble opinion...
Personally, I use KDevelop. I find it to be awesome. The code highlighting is pleasant to the eye, the background parsing is fast, and code completion works very well. It is also fully integrated with gdb (for debugging). And it supports most build systems like makefiles and cmake. It is also integrated with Qt designer so that you can make GUIs with Qt Designer and code on them with KDevelop. I also highly recommend you get used to using an independent build system (non IDE-bound), and cmake is very nice for that (and cross-platform). I highly recommend KDevelop as an IDE, I have not found a parallel to it (commercial or free, Linux or Windows). On windows, I default to CodeBlocks which I think is also pretty good.
For the others, I have used most of them in the past as well.
Linux/Windows:
- Code.Blocks: As I said, it is nice. I like the fact that it has few "automatic" BS that gets in the way of coding. However, I think it has poor integration with third party software (external build systems, debuggers, GUI tools, etc.). I also find that the code completion (and background parser) is too slow to be useful, I usually turn it off, since I can type faster than it can come up with code completion suggestions.
- Eclipse: I have used the Java IDE for some course-work. I was not impressed one bit. Poor integration with third-party. It has a "you are a complete beginner" attitude towards the programmer (which I don't think is beneficial even to a beginner). Customizations and options are very few, and only cosmetic.
- Qt Creator: That one is pretty good, but it is geared towards Qt, of course. But I know that a lot of people use it as a general IDE for any kind of coding as well. Personally, I have little experience with it.
Windows:
- Visual C++ / Studio: Don't get a version that is earlier than 2010. I have heard a lot of good things about 2010 version, enough to make me think it's a decent IDE, which is a lot because I have used versions 2005 and 2008 and thought they were completely worthless (except for the built-in debugger). Before 2010, code completion was very slow and constantly failed even with the most trivial code, same goes for code highlighting. And since it comes from Microsoft, there is a strong tendency to make your life extremely difficult if you try to implement anything that is meant to be cross-platform (or even if you want to reduce the ties to MS run-time libraries). The configurations are not intuitive, and you end up wasting a lot of time configuring your build correctly, and since it doesn't integrate to an external build system too well, you have little choice there. But I hear that the 2010 version has improved on all those fronts.
- Borland C++Builder (or CodeGear, or whatever it is called now): This one is very nice, I used it for years on Windows. Code completion and highlighting is very fast and doesn't fail much. VCL/CLX is very nice for GUI development. And the debugger is also quite good (not as good as Visual Studio though).
That about sums it up. I do recommend like others here to get used to "doing things manually". Being able to compile code from command-line is quite useful knowledge (even if you plan to use an IDE and compile your code from it, you might want to use/test open-source libraries which are almost always built via a command-line build system (cmake, makefiles, autoconf, bjam, etc.). Most projects beyond the most trivial ones have to rely on an external cross-platform build system, and I suggest you get to know that sooner rather than later, because it will teach you more about the actual process of compiling several source files (or Translation Units (TUs)), linking them together along with external libs, conditional compilations, multiple targets, system configurations, etc. etc. But take it one step at a time. Personally, I highly recommend cmake for this purpose.