تبلیغات :
ماهان سرور
آکوستیک ، فوم شانه تخم مرغی ، پنل صداگیر ، یونولیت
دستگاه جوجه کشی حرفه ای
فروش آنلاین لباس کودک
خرید فالوور ایرانی
خرید فالوور اینستاگرام
خرید ممبر تلگرام

[ + افزودن آگهی متنی جدید ]




نمايش نتايج 1 به 4 از 4

نام تاپيک: using namespace std چه کار میکنه؟

  1. #1
    آخر فروم باز s_paliz's Avatar
    تاريخ عضويت
    Jan 2008
    پست ها
    1,293

    پيش فرض using namespace std چه کار میکنه؟

    namespace std چیه وچه کارمیکنه .میدونم که یه فضای نامی ایجاد میکنه ولی فضای نامی چیه و به چه دردی میخوره

    using هم که قبلش میاد چیه؟

  2. #2
    داره خودمونی میشه H_E_A's Avatar
    تاريخ عضويت
    Oct 2008
    پست ها
    101

    پيش فرض

    خوب اولا كه فكر كنم اين سوالت مربوط به سي پلاس پلاس يا سي شارپ هست نه سي
    دوما فضاي نام در واقع يك دسته از كلاس ها (و متد ها در سي ++) هستند كه به هم مرتبط اند (كه مي توانند نباشند)
    در واقع بيشتر براي دسته بندي كد(نمي دونم منظورم رو چطور بگم...) بكار مي روند شبيه دايركتوري كه براي دسته بندي چند فايل روي هاردت بكار ميره
    البته خيلي استفاده هاي ديگه هم داره كه مثلا مي توني ازشون تو يه برنامه ديگه استفاده كني ووو
    (مي دونم كه منظورم رو خوب نرسوندم....)

  3. این کاربر از H_E_A بخاطر این مطلب مفید تشکر کرده است


  4. #3
    آخر فروم باز Mehran NZ's Avatar
    تاريخ عضويت
    Sep 2006
    پست ها
    2,208

    پيش فرض

    با اجازه استاد عزیزم H_E_A این مطلب و یکم بازش کنم

    همون طوری که می دونی ما چندنوع فضای نام (scope ) داریم مثلا یه نوعش فضای نام سراسری هست یعنی اگه یه متغیر و بیرون از تابع main تعریف کنی همه
    توابع می تونند ازش استفاده کنند.

    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    و یا فضای نامی که برای هر بلوک هست یاتوابع و.....که خودت بهتر می دونیحالا شما می تونی برای خودت فضای نام مخصوص به خودت و درست کنی در اینصورت برنامه برای استفاده از
    چیزهایی (این چیز می تونه هر چیزی باشه مثل کلاس-تابع-متغیرو...) که داخل فضای نام شما هست باید اول اسم
    فضای نامت و بعد بقیه چیزها رو بیاره مثلا

    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    حالا این فضای نامها بدرد چی می خورند؟ بدرد دسته بندی!! یعنی اینکه میتونی چندین تابع با یه اسم در برنامه داشته باشی که هر کدوم کارکردی متفاوت داشته باشن و بخاطر اینکه فضای نامشون با هم فرق می کنه با هم قاطی نشن وبتونی ازشون در برنامه استفاده کنیبه برنامه زیر دقت کن اول تابع value در فضای نام سراسری درست می شه بعد تابع x در فضای نام خودش هم یک تابع value درست می کنه وقتی که تابع بخواد متغیر value رو به خروجی ببره در درجه اول از فضای نام خودش استفاده می کنه مگر اینکه بهش بگیم از یک فضای نام دیگه مثلا فضای نام سراسری استفاده کن ( لازم به یاد اوری هستش که فضای نام سراسری هیچ اسمی نداره و با دوتا : می شه بهش دسترسی داشت)

    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    حالا شما فرض کن توی فضای نامت یه تابع یا متغیری داری که خیلی ازش استفاده می کنی و حال و حوصله این و هم نداری که برای هر بار استفاده از اون تابع اسم فضای نام خودت و هم بنویسی با استفاده از عبارت using namespace name; میای و فضای نامت برابر فضای نامی می کنی که عبارت using namespace name; در اون نوشته شدهمثلا در برنامه پایین من فضای نام خودم رو برابر فضای نام سراسری کردم (یا می تونم برابر فضای نام یه تابع یا هر فضای نام دیگه ای بکنم)

    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    حالا برای using namespace std; هم قضیه همین هست یعنی مایکروسافت اومده توابع استاندارد ورودی و خروجی رو در یک فضای نام قرار داده به نام std که توی کتابخانه iostream واقع شده برای اینکه برای هر بار گرفتن ورودی و خروجی مجبور نشی که بنویسی std::cout;, std::cin; میای و فضای نام و به اون صورت تعریف می کنی فقط یه نکته ای که باید توجه کنی اینه که دو تا تابع یا متغیر توی یه فضای نام ,هم اسم نباشند که کامپایلر خطا می گیره

    مثل کد زیر که خطا داره

    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    Last edited by Mehran NZ; 08-12-2008 at 18:53.

  5. 7 کاربر از Mehran NZ بخاطر این مطلب مفید تشکر کرده اند


  6. #4
    آخر فروم باز s_paliz's Avatar
    تاريخ عضويت
    Jan 2008
    پست ها
    1,293

    پيش فرض

    ارسال شد که!!!....................
    Last edited by s_paliz; 08-12-2008 at 23:11.

Thread Information

Users Browsing this Thread

هم اکنون 1 کاربر در حال مشاهده این تاپیک میباشد. (0 کاربر عضو شده و 1 مهمان)

User Tag List

برچسب های این موضوع

قوانين ايجاد تاپيک در انجمن

  • شما نمی توانید تاپیک ایحاد کنید
  • شما نمی توانید پاسخی ارسال کنید
  • شما نمی توانید فایل پیوست کنید
  • شما نمی توانید پاسخ خود را ویرایش کنید
  •