namespace og library har ikke noget med hinanden at gøre i C++.
Et namespace er blot en fælle navne-label på en række beslægtede funktioner, variabler og klasser.
Et library indeholder kode, og interfaces ofte med en .h fil. I mange tilfælde (men langt fra altid) har et bibliotek sit egen namespace.
Man behøver ikke bruge namespace i C++ (undtagen std:

, der er mange der forsøger at holde brugen af namespace på et minimum.
cout og cin er objekter (du kan også kalde dem variabler).
Man bruger ikke = på cout fordi man ikke laver en assignment, dvs. sætter cout lig med noget. I stedet bruger man << opertoren. Der er ikke den store tekniske forskel, det er mest et spørgsmål om logik i menneskenes hoveder.