I have some experience with Eclipse and Qt creator and am somewhat disappointed in their debuggers, less so in their editors. On Windows, I like Visual Studio for debugging and
Emacs + Emacs Code Browser + g++(from gcc). GCCSense in also pretty cool.
This is a lightweight, slick and extremely powerful environment. Not everybody like Emacs though. NetBeans is a good alternative for people accustomed to traditional IDEs.
KDevelop 4 (kde-4.4 branch), built in cmake support, git, subversion, addon to add php support.
Geany, QT Creator, or Eclipse CDT. If you don't need a full IDE learn emacs, it's not only an editor, but a full desktop environment, browser, terminal, and more, on its own.
nano (with syntax highlighting) + make + gcc + gdb + valgrind
Who needs anything else? ;)
I definitely recommend Eclipse and the CDT plugin. Emacs would be my preferred choice if you only need a good editor and not a full IDE.
I use Eclipse almost every day on Linux, mostly for C++ programming these days. The CDT plugin is really good because it is very well integrated with the g++ compiler and the gdb debugger. On top of that, the really strong feature of CDT is the code indexer - i.e. what Microsoft calls "intellisense" for Visual Studio. The CDT Indexer is so sophisticated it is almost like a compiler, in that it really understands your code as you type it. Very often it allows me to find errors even before I build my project. Also Eclipse can handle very large source trees, especially if you run it with a 64-bit JVM.
Eclipse is a great IDE with a lot of users, and if you don't know any other IDE you may want to start with it. Because it supports many languages and has so many tools, even if you switch to another project with different technologies you can still keep your IDE. So you only need to learn one tool (the same can be said for Emacs).
I used Code::Blocks and it works flawlessly and it's great if you come from Visual Studio IDE.