To just start learning it does not matter what you use. Go find a free compiler if you want. Learning C++ is not something your going to do in 21 days, I don’t care what the freakin book says.
There is no telling how long it will take you to get ready to write real applications. This forum is full of posts from people that are attempting to develop applications far beyond their means because they have not spent the time learning the fundamentals of C++ and OOP.
When and if you decide to start writing Windows applications then you should seriously consider VC++ for it’s advanced features, libraries and RAD capabilities.
-pete