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

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

  1. #1

    تعریف ثوابت برای استفاده در توابع عضو کلاس

    سلام در بعضی از کتابخونه ها، توابع مربوط به کتابخونه ثوابتی رو به عنوان آرگومان می گیرند می خوام بدونم این ثوابت رو چطور میشه تعریف کرد.
    مثلا کتابخونه opengl تابع

     begin(GL_LINE)

    begin(GL_QUADS)
    این
    GL_LINE و GL_QUADS چطور تعریف میشن ؟تووی خیلی از کتابخونه ها همچین ثوابتی هست من فقط میخوام نحوه تعریفشون رو یاد بگیرم
    آخرین ویرایش به وسیله mohamad1370 : جمعه 29 فروردین 1393 در 22:26 عصر

  2. #2

    نقل قول: تعریف ثوابت برای استفاده در توابع عضو کلاس

    سلام
    با استفاده از دستور پیش پردازش define می شه انجام داد مثلا

    #define GL_LINE 1

  3. #3

    نقل قول: تعریف ثوابت برای استفاده در توابع عضو کلاس

    سورس یک کتابخونه رو دیدم همینطور بود و یک سری اعداد به صورت هگز واسشون تعریف شده بود چرا؟ چون معمولا این ثوابت تووی یه switch بررسی میشن و فقط خود ثابت بررسی میشه نه مقدارش پس این مقادیر صرفا به خاطر جلوگیری از خطای برنامه است؟و چرا هگز انتخاب شدن و رویه خاصی برای تعیین این مقدارها وجود داره؟

    مثلا تیکه کد زیر هیچ استفاده ایی از مقادیر نشده

    #define MM 0x22222
    #define NN 0x22221
    int f1(int target)
    {
    switch (target)
    {
    case MM :
    return 2*2 ;
    case NN :
    return 3*3 ;
    }
    }


    int main()
    {
    std::cout << f1(NN);
    return 0;

    }
    آخرین ویرایش به وسیله mohamad1370 : شنبه 30 فروردین 1393 در 23:39 عصر

  4. #4

    نقل قول: تعریف ثوابت برای استفاده در توابع عضو کلاس

    بیشتر به خاطر خوانایی بیشتر این کار صورت می گیره و یک اسم به اون عدد میدن
    اینکه چرا هگز هست این هم یک دلیلش خوانایی بیشتر نسبت به مبنای 10 هست مخصوصا در کارهای گرافیکی که با مقادیر پیکسل کار داریم، هگز خوانایی بیشتری داره .
    همچنین از دید یک کد نویس هگز را راحت تر میشه به باینری تبدیل کرد تا عدد مبنای ده. مثلا با یک نگاه به یک عدد هگز میشه مقدار باینری اون را به صورت ذهنی حساب کرد ولی اگه عدد مبنای ده باشه مشکله
    بعضی وقتها این اعداد به صورت ماسک استفاده میشن و مقدار دهی آنها بر این اساسه
    بعضی وقتها هم ممکنه دلیل خاصی نداشته باشه و صرفا یک سری مقادیر باشه جهت دسته بندی عملیات . که مثلا اعدادی که دو رقم اول اونها 2 باشه مربوط به یک سری اعمال باشن و مثلا اعدادی که دو رقم اول اونها 3 باشه مربوط به یک سری عملیات دیگه

    در این لینک هم در این مورد بحث شده
    http://stackoverflow.com/questions/1...imal-constants

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

  1. سوال: آیا برای استفاده کردن از توابع عضو حتما باید از signal و Slot استفاده کرد؟
    نوشته شده توسط complexcoding در بخش برنامه نویسی در محیط QT و هم خانواده هایش
    پاسخ: 4
    آخرین پست: دوشنبه 10 مهر 1391, 23:25 عصر
  2. مبتدی: دسترسی به توابع عضو کلاس
    نوشته شده توسط mehdibarati در بخش C#‎‎
    پاسخ: 4
    آخرین پست: شنبه 22 اسفند 1388, 19:56 عصر
  3. مبادرت کامپایلر برای inline کردن توابع عضو!
    نوشته شده توسط deopen در بخش برنامه نویسی با زبان C و ++C
    پاسخ: 10
    آخرین پست: چهارشنبه 11 دی 1387, 22:34 عصر
  4. استفاده از توابع یک کلاس در HTML
    نوشته شده توسط ali643 در بخش ASP.NET Web Forms
    پاسخ: 0
    آخرین پست: جمعه 20 مرداد 1385, 18:02 عصر
  5. تعریف friend برای یک کلاس و استفاده از آن
    نوشته شده توسط mr_esmaily در بخش برنامه نویسی با زبان C و ++C
    پاسخ: 2
    آخرین پست: یک شنبه 05 مهر 1383, 10:13 صبح

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

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