Bloodshed Dev C++ is the best C++ compiler/IDE I've had experience with so far; though last time I checked, the development team hasn't been active for a good while. But for beginners, it's perfect & easy-to-use - totally free without any catches (licenced under GNU GPL) and comes with some really nice features like code cempletition (is that a word?)
Also, OpenWatcom C/C++ is free, includes project management for bigger applications and includes compilers for multiple platforms (DOS (both com and exe), 16/32[/64]-bit Windows (console and GUI versions), Linux, I think even Mac OS was there...). I found it a little hard to use back when I was a beginner, but it's really solid and sturdy solution.
Anyway, is the Borland compiler command line (Borland Command Line Tools or something like that?). It was a real pain to set up but when I had it tweaked up it worked quite well on me - it had several glitches, though that I didn't quite get (old C++ standards) and because it didn't come with an IDE I ditched it...
EDIT: You may also want to have a look at LCC-Win32, it's good but I didn't like the licence - IMO if you're not allowed to freely sell/distribute the programs made with the compiler, it's crap.