گیاهی ترین گیاهی ترین AnzanDigital فروشگاه
خانه / برنامه نویسی ++C / استفاده از رهنمود using در namespaces

استفاده از رهنمود using در namespaces

namespaces
namespaces

بخش اول آموزش را مطالعه کنید.

رهنمود using namespace به کامپایلر می گوید کدهای بعدی از اسامی که با namespace تعیین شده استفاده می کند. بنابرین namespace مشخص شده با using namespace برای برای کدهای بعدی مورد استفاده قرار میگیرد.

#include <iostream>
using namespace std;

// first name space
namespace first_space{
   void func(){
      cout << "Inside first_space" << endl;
   }
}
// second name space
namespace second_space{
   void func(){
      cout << "Inside second_space" << endl;
   }
}
using namespace first_space;
int main ()
{
 
   // This calls function from first name space.
   func();
   
   return 0;
}

خروجی کد بالا به شکل زیر است:

Inside first_space

همچنین میتوانیم برای آیتم خاصی یک namespace را منتسب کنیم، به عنوان مثال اگر از بخش های فضای نام std قصد به کار بردن cout را دارید، میتوانید انتساب را به صورت زیر انجام دهید:

using std::cout;

برای کدهای بعد دستور فوق،‌ cout بدون نمایش انتساب قبل آن نوشته می شود ولی آیتم های دیگر از فضای نام std بایستی با علایم انتساب معرفی شوند:

#include <iostream>
using std::cout;

int main ()
{
 
   cout << "std::endl is used with std!" << std::endl;
   
   return 0;
}

بعد کامپایل:

std::endl is used with std!

فضای نام تو در تو(Nested):

فضای نام میتواند به صورت تو در تو بعد تعریف یک فضاینام، درون آن فضای نام دیگری به صورت زیر قرار می گیرد:

namespace namespace_name1 {
   // code declarations
   namespace namespace_name2 {
      // code declarations
   }
}

می توانید برای دسترسی به اعضای فضای نام تو در تو، از اپراتور های زیر استفاده کنید:

// to access members of namespace_name2
using namespace namespace_name1::namespace_name2;

// to access members of namespace_name1 
using namespace namespace_name1;

برای نمونه :

#include <iostream>
using namespace std;

// first name space
namespace first_space{
   void func(){
      cout << "Inside first_space" << endl;
   }
   // second name space
   namespace second_space{
      void func(){
         cout << "Inside second_space" << endl;
      }
   }
}
using namespace first_space::second_space;
int main ()
{
 
   // This calls function from second name space.
   func();
   
   return 0;
}

با خروجی:

Inside second_space

و نمونه دوم :

#include <iostream>
using namespace std;

// first name space
namespace first_space{
   void func(){
      cout << "Inside first_space" << endl;
   }
   // second name space
   namespace second_space{
      void func(){
         cout << "Inside second_space" << endl;
      }
   }
}
using namespace first_space;
int main ()
{
 
   // This calls function from second name space.
   func();
   
   return 0;
}

با خروجی:

Inside first_space

کانال تلگرام بیر رباتیک

درباره Ahrovani Hadi

مشاهده بیشتر

arducopter simulation

شبیه سازی اتوپایلوت و تشخیص کد های Aruco

ویدئوی پیوست شده شبیه سازی اتوپایلوت ardupilot با شبیه ساز gazebo را نشان میدهد. این …

دیدگاه بگذارید

اولین نفری باشید که دیدگاه میگذارد

با خبر سازی از
avatar

wpDiscuz