انجمنهای فارسی اوبونتو
		کمک و پشتیبانی => برنامهسازی => نویسنده: محمد اعتماددار در 09 تیر 1392، 11:45 بظ
		
			
			- 
				ممکنه کسی توضیح بده که فضای نام چی هست؟
 و اینکه این جمله در سی++ به چه معناست؟
 using namespace std;
- 
				اگر یک توضیح خیلی کوتاه میخوای، این دستور باعث میشه که از این به بعد نیاز به نوشتن ::std نداشته باشی.
 یعنی بجای نوشتن std::cout کافیه بنویسی cout.
- 
				فضای نام یعنی هر شناسه ای اعم از اسم متغیر، اسم تابع، اسم کلاس و هر چیز دیگه توی این فضا فقط توسط سایر اعضای این فضا به صورت مستقیم در دسترس هست. مثلا کد زیر رو در نظر بگیر:
 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;
 موفق باشید.
- 
				برای تکمیل نوشته های دوستان :
 
 وقتی از std استفاده میکنی یعنی داری از فضای نام استاندارد استفاده میکنی...