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

نام تاپیک: نسبت دادن آدرس یک اشاره گر به اشاره گری از نوع دیگر

  1. #1
    کاربر تازه وارد آواتار user1101
    تاریخ عضویت
    خرداد 1388
    محل زندگی
    تهران
    پست
    30

    نسبت دادن آدرس یک اشاره گر به اشاره گری از نوع دیگر

    چجوری می شه مقدار یک اشاره گر رو به اشاره گری از نوع دیگر نسبت داد؟

    کامپایلر نسبت دادنشون رو به شکل عادی قبول نمی کنه مثلا وقتی کد زیر رو می نویسم:
    ip = cp//ip is int pointer and cp is char pointer
    ارور "*can not convert int * to char" رو می ده و مجبورم به شکل من درآوردی مقدار اشره گر اولی رو چاپ کنم و بعد با اسکن اف بریزمش تو اشاره گر دومی

  2. #2

    نقل قول: نسبت دادن آدرس یک اشاره گر به اشاره گری از نوع دیگر

    در اکثر موارد به شکل صریح با پرانتر می توانید تبدیلات مجاز را انجام دهید.

    char *y;
    // fill it , use it

    int* x = (int*) y;

    در C++‎ برای این کار عملگرهایی خاصی وجود دارد که امن تر انجام می دهند، که برای کار شما reinterpret_cast نیاز هست(تبدیل هر نوعی)


    int *x = reinterpret_cast<int*>( y );

    سایر موارد:

    dynamic_cast: Used for conversion of polymorphic types.
    static_cast: Used for conversion of nonpolymorphic types.
    const_cast : Used to remove the const, volatile, and __unaligned attributes.
    reinterpret_cast: Used for simple reinterpretation of bits.
    safe_cast : Used to produce verifiable MSIL.

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

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