I need to get up to speed with C++ quite quickly (I've never used it previously) - is learning through Visual Studio (i.e. Managed C++) going to be any use? Or will I end up learning the extensions and idiosyncracies of C++ in VS, rather then the language itself?
You should not confuse between managed C++ and VS. You can code unmanaged (true) C++ even in Visual Studio. Visual Studio is just an IDE.
If learning in VS is not recommended, what platform / IDE do you guys suggest?
Edit: Can anyone elaborate on what VS will hide or manage for me when coding unmanaged C++? I really need to be learning things like pointers, garbage collection and all the nuts and bolts of the low level language.. does VS abstract or hide any of this kind of stuff from you?
VS like any other IDE will hide stuffs such as the compiling and linking stages from you. But it wont hide any language features from you. Yes you can learn pointers and other low level stuffs with VS. Unmanaged C++ does not support garbage collection.
But if you are a beginner and you are not in a hurry, then the best way is to take a text editor, a compiler and a debugger and code. g++,gdb and emacs/vi will be a better substitution for VS for beginners. You will actually feel how things are compiled, linked and finally a binary is made. But it will take time and may require guidance to be up with the tools. With VS you can be up in minutes. If your objective is to learn C++ language syntax and features, then go ahead make a new empty VC++ project in VS and code.