آموزش تعریف فضای نام در سی پلاس پلاس،ۀموزش تعریف namespace در cpp

ساخت وبلاگ

namespace مجموعه ای از تعاریفه (اسامی متغیرها و ...) و برای رجوع به یه اسم خاص که در namespace وجود داره می شه اسم اون namespace رو با دو تا کولون ( :: ) و بعد اون اسم خاص نوشت. مثلا تمام اسامی تعریف شده در library استاندارد ++C در namespaceی بنام std قرار دارن بنابراین بطور معمول مجبوریم قبل از هر کدی که می نویسیم از std:: استفاده کنیم تا کامپایلر در خوندنشون دچار مشکل نشه یعنی مثلا برنامه هامون رو اینطوری بنویسیم:

کد:
 #include <iostream>
int main () { std::cout << "Hello world!n"; return 0;
}

که البته این کار خیلی خسته کننده است! اینجا است که برای تکرار بیجای std:: از using استفاده می کنیم یعنی بجای خطوط بالا می نویسیم:

کد:
#include <iostream>
using namespace std;
int main () { cout << "Hello world!n"; return 0;
}

بنابراین حالا می شه فهمید چرا مجبوریم در هر برنامه ای که از هدر iostream استفاده می کنیم از using namespace std هم استفاده کنیم. چون این خط در حقیقت داره به compiler می گه که تمام اسامی موجود در library استاندارد ++C رو قابل دسترسی کنه و برای فهمیدن کدهایی که وارد می کنیم به کجا باید رجوع کنه.و نباید فراموش کنیم کتابخانه های مختلف ممکنه از اسامی یکسان اما با تعریفهای متفاوت استفاده کنن و در اینجاست که using namespace تکلیفمون رو مشخص می کنه.

مثلا:

کد:
// namespaces
#include <iostream>
using namespace std;
namespace first
{ int var = 5;
}
namespace second
{ double var = 3.1416;
}
int main () { cout << first::var << endl; cout << second::var << endl; return 0;
}

خروجی :
5
3.1416

ما حتی می تونیم برای خودمون namespace تعریف کنیم:

کد:
#include <iostream>
using namespace std;
namespace mystuff{
int value = 5;
}
int main()
{ cout << mystuff::value; //outputs 5 return 0;
}

 

منبع :

http://forum.p30world.com/showthread.php?t=224092

 

همکاری_به چند نویسندگی زیر 15 سال برای وبلاگ نیاز داریم...
ما را در سایت همکاری_به چند نویسندگی زیر 15 سال برای وبلاگ نیاز داریم دنبال می کنید

برچسب : نویسنده : 8gameover9 بازدید : 260 تاريخ : پنجشنبه 13 آذر 1399 ساعت: 5:21