I wanna study cpp programming in Linux ,but I don't know how to choose a useful IDE.there are more IDE can use in linux ,eclipse and netbeans ,but I want to know what is the best.thanks
This is an ongoing battle for me, I've tried Code::Blocks, Anjuta, Netbeans, Eclipse, Qt Creator, and many many others...
My personal favorite is Netbeans, it has some of the best code-completion I've seen, with Visual Studio on Windows being the only one to top it for me. You can also use it for Java, Ruby, Python, Scala, and many other languages. It is also very easy to configure and use. If you want to start making C++ GUI apps, then check out Qt Creator but I wouldn't do that until you have a firm grasp of the standard C++ language.
Personally, I just a combination of Vim and command line build tools (automake, make, cmake, qmake, and others depending on the situation). Vim is more or less just a plain text-editor, but with plugins like nerdtree, omnicpp complete, and others I can't remember off the top of my head I am much more productive using Vim then any IDE could ever hope. Vim does take a bit of an investment to learn though, it's very different compared to other editors because unlike other editors you have a "Command Mode" for inputing text based commands and an "Insert" mode for regular editing. It can be frustrating at first but it *is* worth it in the long run. I highly recommend taking a few days to get the basic commands down, and then slowly adding in new ones as you go. I've been using Vim every day for years, and I feel *absolutely crippled* if I have to use a different editor. Programming this way, you also learn much more about the processes involved in building software, whereas an IDE tends to automate these things.
Depending on your preferences too, there's also Emacs which uses keyboard shortcuts instead of text-based commands like Vim. Many people prefer Emacs, and it leads to editor wars all over the internet. Personally, I could never wrap my head around it but everyone's different. I'm probably just so used to using vim, that learning another set of commands for an editor just doesn't fit in my brain properly.
The biggest advantage of using a command line editor like Vim/Emacs, is that they are available on pretty much every single Unix platform by default (most of the time). Editing files over ssh is an absolute breeze when using Vim/Emacs; none of the ftp download-edit-reupload nonesense. There are even GUI-based Windows versions that can be installed relatively quickly.
Many IDEs also have plugins to enable Vim/Emacs functionality in their editors. For work, I need to use Visual Studio so the ViEmu plugin is an absolute must. Netbeans has the jVi plugin for Vim style editing, and Qt Creator has a Vim mode built right-in.
tl;dr I recommend Vim + command line, it's frustrating at first but it doesn't take too long to become a wizard.