آموزش زبان ++C - مقدمه

آموزش برنامه نویسی ++C – فضای اسمی (namespace) و فضای اسمی std

فضاهای اسمی برای پياده سازی اجزای نرم افزاری و کتابخانه ها بدون ايجاد برخورد اسامی با اجزای موجود بکارگرفته می شوند.
وقتی يک برنامه به اندازه معينی می رسد معمولا به چند قطعه مجزا تبدیل می شود که هر تکه ممکن است توسط فرد یا گروهی ساخته و تکميل شود. زبان ++C تنها يک مکان برای نگهداری اسامی کليه شناسه ها و توابع دارد يعنی برنامه نويسان بايد درباره نامگذاری اسامی بسیار احتیاط کند که خطایی رخ ندهد.
++C خاصیتی برای جلوگيری از ایجاد این خطاها دارد به نام فضای اسمی. هر مجموعه از تعاريف که در يک کتابخانه يا يک برنامه قرار دارند درون يک فضای اسمی جدا از هم قرار می گيرند.
درون محیط TurboC++ نمی توان از فضای اسمی استفاده کرد و کامپایلر خطا می گیرد و برای استفاده از فضای اسمی میتوان به سراغ کامپایلر های محیط BorlandC++ و VisualStudio و همچنین کامپایلر لینوکس رفت.
کامپایلر های دیگری هم وجود دارند.
در اینجا ما از محیط برنامه نویسی Visual Studio استفاده می کنیم.
طریقه ی ایجاد پروژه ی C++ در Visual Studio:
من از ورژن ۲۰۱۰ استفاده می کنم.
از منوی بالای صفحه گزینه ی File سپس گزینه ی New Project را انتخاب کنید:
newp1

در قسمت Installed tamplates نوع زبان برنامه نویسی را انتخاب کنید سپس در قسمت ۲ نشان داده شده برروی تصویر .netframework را انتخاب کنید که تاثیر زیادی در کارمان ندارد سپس در قسمت ۳ نوع برگه را مشخص می کنیم و باتوجه به اینکه می خواهیم در محیط کنسول برنامه نویسی کنیم پس این گزینه(۳) را انتخاب می کنیم.
در قسمت name و location هم می توانید نام پروژه و مسیر ذخیره سازی پروژه را انتخاب کنید.
newp2
در این قسمت گزینه ی finish را بزنید.
newp4
ایجاد دو فضای نام و استفاده از آن:

اجرای برنامه با کلید F5 یا گزینه ی start debagging از منوی debug.
خروجی:
outv1
توضیحات: ابتدا هدر فایل ها را اضافه می کنیم.
ما در این قسمت کد دو فضای نام با نام one,two ایجاد کردیم که در هر دو متغیری با نام x یکی از نوع float و دیگری از نوع int ایجاد کردیم.

این خط را در ادامه توضیح خواهد داده شد.

استفاده از فضای نام باید در تابع main که در اینجا tmain است به این صورت انجام گیرد که ابتدا نام فضای اسمی سپس دوکاراکتر دونقطه ( :: ) سپس نام متغیر مد نظر.

برای نمایش هم همینکار را انجام دادیم.

همانطور که دید می توانیم از یک نام متغیر با دونوع با استفاده از فضای اسمی استفاده کنیم.
حالا می خواهیم مقدار دو x را جابجا کنیم به این صورت:

خروجی:
outv2

توضیحات: همانطور که در خروجی میبینید مقدار اعشاری برای آن x که در فضای اسمی با نام one بود حذف شده است به دلیل اینکه از نوع int است.

استفاده از using

برای اینکه مجبور نباشیم برای استفاده از متغیری که در فضای نام تعریف کرده ایم در ابتدای آن متغیر در تابع main نام آن فضای نام و دوکاراکتر دونقطه را بگذاریم از این دستور در بالا تابع main استفاده می کنیم:

توضیحات: برنامه خودش کلمه ی one را در ابتدای هر متغیر ایجاد می کند.

فضای نام std

کليه کتابخانه های استاندارد ++C درون يک فضای نام به نام std قراردارند. ممکن در بسیاری از برنامه ها به کد زیر برخورد کرده باشید. اين خط کد به کامپایلر می گوید که می خواهيد از کليه عناصر درون فضای نام std استفاده کنید.

در کامپایلر هایی مانند visual studio یا کامپایلر لینوکس نوشتن این کد اجباری است ولی در محیط borlandc++ نه.
مثال: نمایش متن hello world! در visual studio با کد using namespace std;
نمایش متن hello world! در visual studio بدون کد using namespace std;
خروجی در هر دو کد کلمه ی hello world! خواهد بود.
توضیحات: همانطور که میبینید بدون استفاده از using باید کد std:: را اول هر خط کد در تابع main استفاده کنید.
نکته: برنامه ی اجرایی یعنی فایل .exe شما از برنامه در دایرکتوریی که پروژه را ذخیره کرده اید در پوشه ی debug قرار دارد.

پاسخ دهید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *