>> I think the Standard Library is part of the language and should be learned together with the syntax: std::string when it comes to strings, std::vector when it comes to arrays, and only after that pointers.

I see what your saying, my point was that any good reference on the language would prevent things like:

 int *test;
 int i;
c++ has rules you have to know from the very start, just like any other language. I do agree that the STL can and should be used right away though - generic programming is whole point of c++, after all.