No, Visual Studio can be pretty much a 'true' c++ compiler.
I'd like to learn how to program platform independent software
Good luck! If you figure out how let us all know!
Joking aside...
If you want your code to be platform independent then you should indeed steer clear of platform specific libraries (like the win32 api).
As stated in other answers VC++ doesn't conform exactly to the C++ specification (not sure if any compiler conforms 100%).
Using GCC on windows (eg mingw, cygwin) may give you an easier time when later you come to port your code to a different platform. Try VC++ and MinGW and see which you prefer. Using them each is different from the other. If you want an IDE for MinGW try Code::Blocks.
In a complex enough project though it becomes very hard to write code that will work with many different c++ compilers, and even with different versions of the same compiler! If you ever look at boost (a c++ project full of wonderful but sometimes complex libraries) which is meant to work on a very wide variety of compilers, it seems that it has more code to deal with differences in compilers than code that actually gets stuff done (slight exaggeration perhaps).
This question: How to write portable code in c++? has some good tips.