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

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




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

نام تاپيک: اشتباه نکنید! این دو با هم یکسان نیستند

  1. #1
    آخر فروم باز
    تاريخ عضويت
    Nov 2009
    پست ها
    1,257

    8 اشتباه نکنید! این دو با هم یکسان نیستند

    با درود و شب بخیر
    متن زیر را می گوید ، هدر فایل در سی ++ با using در سی# یکی نیست. مگر در سی ++ وقتی ما
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    به این معنا نبود که مثلا من میخواهم از cout استفاده کنم و برو وصل بشو به هدر فایل iostream ؟؟؟
    در سی شارپ هم میگم
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    یعنی برو به فضای نام using تا من بتونم از کلاس ها و... استفاده کنم..

    اینجا فضای نام یا هدر فایل با هم تفاوت دارند؟ در چه حد؟ مگر فضای نام using ، به صورت فیزیکی وجود ندارد؟
    پس چرا گفته
    The using statement does no physical linking between files




    Last edited by iranch; 15-07-2015 at 02:46.

  2. #2
    کاربر فعال تالار .Net Msba's Avatar
    تاريخ عضويت
    Dec 2006
    محل سكونت
    ! My Mind
    پست ها
    506

    پيش فرض

    منظور از فیزیکی آن فیزیکی نیست. دقت کنید که include# مانند یک اتصال است. این اتصال مانند این است که تمامی محتوای فایل include شده در فایل اصلی دیده شود، به این عکس ها دقت کنید:
    ابتدا یک چنین برنامه ای داریم:
    سپس با این تعریف می شود:

    پس در نهایت ما یک همچین چیزی برای کامپایلر داریم:
    اما در using مربوط به C# قضیه این طور نیست. بدون اینکه در C# نیاز باشد عمل using انجام شود،می توان از مجموعه ی دیگر استفاده کرد. در ضمن دقت کنید که کتابخانه با فضای نام متفاوت است. اگرچه در تعریف اولیه و برای فهم بهتر ممکن است این دو را نزدیک به هم تعریف کنند.
    از طرفی (مجدد!) دقت کنید که فضای نام های مربوط به Net. در سیستم cache می شوند. یعنی یک سیستم که Net. در آن نصب شده است تمامی فضاهای نام ها را در سیستم دارد و متد یا ویژگی از آن ها لازم باشد از آن فایل در حالت runtime برداشت می شود که این مورد در بحث کتابخانه نیست یعنی این بخش های مورد نیاز فایل include شده می رود در درون خروجی نهایی. یکی از دلایلی هم در این زبان عمل optimization بسیار چشم گیر است همین مورد است.

    ما در C++ هم using داریم، چرا؟ چون namespace داریم. فضای نام ها با قالب بندی کلاس ها (گرچه در فایل های مختلف باشند) یک بخش واحد را می سازند. این درحالی است که در کتابخانه ها اینگونه نیست و همچنین در کتابخانه ما با محدودیت اسم گذاری نیز روبه رو می شویم که باز این مشکل در فضای نام وجود ندارد. [ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ] .

    موفق باشید.

Thread Information

Users Browsing this Thread

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

User Tag List

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

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