>>but what is that "std" thing
std is a namespace. Namespaces are basically boxes that keep you from mixing up all of your stuff. Instead of saying "use whichever X you find first" you can now say "use the X in the Y box". This solves some rather irritating problems in larger projects where two or more libraries use the same names, but it also means that everything in the standard library is in the std namespace and must now be qualified by saying <namespace>::<name>.
>>because in a lot of older tutorials you didnt need it
Pre-standard C++ did not support namespaces so you will not see them in older code. Despite the apparent convenience of that, it is better to use the newer and more powerful standard library.
>>using namespace std;
>>will prevent you from constantly typing this?:
There are three ways to qualify names in a namespace. The first is the most direct; you simply qualify a name with its namespace with every use.
Code:
std::cout<<"A"<<std::endl;
std::cout<<"Test"<<std::endl;
The second approach is to qualify a specific name for the scope in which you plan to use it. Then you can avoid having to qualify every use of the name within the regions of that scope. Those names that are not qualified in this way must still be qualified directly.
Code:
using std::cout;
cout<<"A"<<std::endl;
cout<<"Test"<<std::endl;
The third and final method is to qualify all names in a namespace with a single command. This is the most convenient way but also the most dangerous as it effectively removes the protection of namespaces within the scope of its effect. All names within the namespace can now be used unqualified.
Code:
using namespace std;
cout<<"A"<<endl;
cout<<"Test"<<endl;
Which method or combination of methods you use is up to you. Different people have different preferences.