نمایش نتایج 1 تا 8 از 8

نام تاپیک: دستور const

  1. #1
    کاربر دائمی آواتار programmermp
    تاریخ عضویت
    اردیبهشت 1384
    محل زندگی
    Green Territory of North
    پست
    732

    Talking دستور const

    با سلام

    یه سئوال تو کلاس توسط استاد مطرح شد که من برای اطلاعات بیشتر اینجا مطرحش می کنم این نوع داده رو برای چی ما در دستور const معین می کنیم مثلا به شکل زیر


    const float pc=3.14


    می دونم واسه اینه که نوع متغیر pc باید مشخص بشه ولی اطلاعات کاملتر و علمی تر

    می خواهم

    اگه راهنماییم کنید ممنون می شم

    با تشکر فراوان

  2. #2
    کاربر دائمی
    تاریخ عضویت
    اسفند 1385
    محل زندگی
    تهران
    پست
    1,486
    وقتی یه متغیری رو از نوع const تعریف میکنی یعنی اینکه مقدار ثابتی داره و نمیشه اونو تغییر داد. در مثال بالا به دلیل اینکه 3.14 یه عدد ثابت هست و جهت اینکه در برنامه تغییر پیدا نکنه اونو const تعریف میکنن.

  3. #3
    به تعبیری می توان گفت تا زمانی که برنامه شما در حال اجراست اطلاعات آن بخش از حافظه برای برنامه شما قفل می شود و اگر اشتباها دستکاری شود حال یا به دلیل اجرای توابع مشخص شما و یا توابعی که شما اطلاعات پیاده سازی آن را نمی دانید (مثلا تغییر مقدار آن پس از ورود به صورت یک آرگومان به تابع ) در اینجا به شما پیغام خطا داده می شود.
    و فرق آن در این است که این خطا ، خطای run-time نیست یعنی قبل از اجرا و در حین کامپایل مشخص می شود و حتی اگر دستکاری آن ثابت در بخشی ار کدهای شما باشد که فعلا با اجرای برنامه اجرا نمی شود در هنگام کامپایل خطا اعلام می شود .

  4. #4
    اگر شما از یه Const هم استفاده نکنید و در برنامه هر جایی که Pc رو نیاز داشتید همون عدد 3.14 رو وارد میکردید هم برنامه شما بدون مشکل کار میکرد و امکان تغییر عدد برای شما وجود نداشت چون 3.14همیشه مقدار 3.14داره دلیل عمده استفاده از const استفاده ی مجدد تو برنامه هست.
    شما فرض کن یه برنامه نوشتی که تو جاهای مختلف مثلا 1000 جا میخواهی اعداد رو ضرب در 5 کنی. حالا بعد از یه مدت تصمیم میگیری به جای 5 اعداد رو در 6 ضرب کنی و این یعنی فاجعه ...
    1000 جای برنامه باید بری همه 5 ها رو تبدیل به 6 کنی تازه اگر جایی چیزی از قلم نیوفته و باگ منطقی به وجود نیاد که این هم خودش یه فازیه واسه خودش.
    به جای اون شما میای تو برنامه این خط رو مینوسی
    const int zarib = 5

    از این به بعد هر وقت عددی قرار بود در 5 ضرب بشه اون عدد رو در zarib ضرب میکنی. حالا اگر خواستی مقدار رو از 5 به 6 تغییر بدی فقط تو خط اول مقدار 5 رو 6 میکنی و برنامه رو مجدد کامپایل میکنی. زحمت اون 1000 خط رو کامپایلر میکشه.
    موفق باشید

  5. #5
    کاربر دائمی
    تاریخ عضویت
    اسفند 1385
    محل زندگی
    تهران
    پست
    1,486
    هم برنامه شما بدون مشکل کار میکرد و امکان تغییر عدد برای شما وجود نداشت چون 3.14همیشه مقدار 3.14داره
    وقتی یه متغیر رو به صورت معمولی تعریف میکنیم، امکان تغییر اون وجود داره دیگه، این طور نیست؟
    دلیل عمده استفاده از const استفاده ی مجدد تو برنامه هست.
    علت تعریف متغیر از نوع const تغییر نکردن اون متغیر در برنامه هست. چون جهت استفاده مجدد میشه بدون const هم متغیر رو تعریف و استفاده کرد.

  6. #6
    وقتی یه متغیر رو به صورت معمولی تعریف میکنیم، امکان تغییر اون وجود داره دیگه، این طور نیست؟
    اگر از نوع معمولی تعریف کنیم حرف شما کاملا متین ولی const زمانی تعریف میشه که از یک عدد ثابت(البته صرفا عدد نه) تو برنامه بخوایهم بارها استفاده کینم و در چنین شرایطی ما از cost استفاده میکنیم.
    عماد جان درسته که این کار رو با متغیر معمولی هم میشه انجام داد و همونطور که گفتید متغیر معمولی ممکنه تغییر کنه.
    ولی دلیل اصلی استفاده از const موردی هست که قبلا ذکر شد یعنی ثابتی که بارها در برنامه استفاده میشه.
    سوالی که پرسیده شده درباره دلیل استفاده از const هست که من به دلیلش اشاره کردم ولی فقط خواندنی بودن جزء خواص const میباشد و نه دلیل استفاده.
    موفق باشید.

  7. #7
    یه بهینه سازی در زمان کامپایل هست که با استفاده از اون وقتی شما از ثابت (Const) استفاده می‌کنید به جای اینکه مقدار اون از توی حافظه خونده بشه که چند سیکل اضافی هست
    مستقیم مقدار ثابت در اونجا قرار داده می‌شه و کامپایل انجام می‌شه

    درست مثل اینکه شما خود عدد رو استفاده کرده باشید

    و به علاوه وقتی که بعدا خودتون یا یه نفر دیگه داره کد رو می‌خونه فهمیدن یه اسم خیلی ساده‌تر از اینه که یه عدد رو ببینید و متوجه نشید که چرا این عدد اینجا هست

    در مثال بالا بهتر بود به جای pc از نام Pi استفاده می‌شد تا معلوم باشه که مقدار موجود در این ثابت عدد پی هست نه یه کامپیوتر !

    بنابراین به دلایل سرعت و افزایش قدرت ویرایش و خوانایی برنامه توصیه شده که تا جایی که می‌تونید از ثابت‌ها برای نگهداری مقادیر استفاده کنید

    ---

  8. #8

    نقل قول: دستور const

    با سلام خدمت دوستان
    آقا یه سوال دارم؟ اصلا ً از چه Type هائی می توان const ایجاد کرد و از کدامشان نمی توان ؟
    به عنوان مثال از Int ، Double، char و... می توان Const ایجاد کرد. من خودم فکر می کنم از Built in Data type ها می توان Const ایجاد نمود اما از User define Data type ها نمی شود.
    آیا کسی هست منو راهنمائی کنه؟

تاپیک های مشابه

  1. اعلان نوع متغیر بعد از const
    نوشته شده توسط man-fatima در بخش برنامه نویسی با زبان C و ++C
    پاسخ: 8
    آخرین پست: جمعه 13 مهر 1386, 22:17 عصر
  2. فرق تعریف ثابت ها بصورت const و define#
    نوشته شده توسط mr_esmaily در بخش برنامه نویسی با زبان C و ++C
    پاسخ: 9
    آخرین پست: شنبه 11 تیر 1384, 08:11 صبح
  3. Const && static
    نوشته شده توسط Mahdi_20 در بخش C#‎‎
    پاسخ: 1
    آخرین پست: دوشنبه 27 بهمن 1382, 07:49 صبح

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •