Your best bet for a compiler is probably gcc, despite your experience with it. On Linux, you’ll need to worry about an editor or IDE as well, and on that I can’t really advise you, since I’ve been using Emacs for 20+ years; on the Mac, the best choice is Xcode, which uses gcc as the backend compiler. Standards compliance is a difficult matter. C++ is a big and complicated language, and I wouldn’t be surprised at all if none of the major and popular compilers were fully standards compliant. Microsoft has built a lot of infrastructure into Visual Studio, and a lot of the changes will make sense only after you have a solid grasp of C++ and a basic understanding of Win32 or .NET. As far as books go, when I first learned C++ (in the days of cfront), the book C++: How to Program was one of the best.