فضای نام یعنی هر شناسه ای اعم از اسم متغیر، اسم تابع، اسم کلاس و هر چیز دیگه توی این فضا فقط توسط سایر اعضای این فضا به صورت مستقیم در دسترس هست. مثلا کد زیر رو در نظر بگیر:
namespace ns1
{
int a;
}
namespace ns2
{
int a;
}
حالا یه برنامه داریم که میخواد از اون متغیر a استفاده کنه. حالا کدوم a؟ بستگی داره کدوم یکی رو بخواد. مثلا اگه بخواد از a اس که توی ns1 هست استفاده کنه مثلا مینویسه:
ns1::a = 5;
حالا اون کدی که شما گفتی یعنی اینکه یه namespace به نام std هست که من میخوام ازش استفاده کنم ولی طبق مثال قبل باید هر دفعه اسم اون namespace و :: بعدش رو بزارم. برای اینکه خودم رو راحت کنم مینویسم.
using namespace std;
یا مثلا برای مثالهای خودم مینویسم:
using namespace ns1;
a = 5;
این یعنی اون a ای که توی ns1 هست منظورمه. اگه خواستم از اون یکی استفاده کنم باید بنویسم:
ns2::a = 6;
موفق باشید.