A namespace is a definition of code that is constant across most compilers, std being the standard template library, or the standard namespace. Most compilers use their own tweaked version of it by default which can be a pain when using multiple compilers if you don't know the little subtleties to them. To use this namespace you can either add the line "using namespace std" after your includes but before any other code or you can use "std::<function/class>()" for the specific instance you want to use it, for example if you wanted to use the stl version of cout, which usually isn't changed either way, you could use "std::cout << yourstuff;" instead of jus "cout << yourstuff;", I find strings are usually handled differently in the stl than microsoft's standard libraries, I've run into some differences in g++ as well. The big benefit to this is of course that if you work on many different platforms and compilers you can just add that line of code at the top and now you don't need to learn any compiler specific little tricks.