Перегрузка &

Discussion in 'LANGS.C' started by Vilco, Aug 10, 2008.

  1. Vilco

    Vilco Vitaly

    Blog Posts:
    0
    Joined:
    Mar 5, 2007
    Messages:
    190
    Location:
    Nsk, Russia
    Угу. Ток я ответ подсмотрел=)
    Ну эт кстати логично, ведь мы и есть наиболее заинтересованное лицо
     
  2. W4FhLF

    W4FhLF New Member

    Blog Posts:
    0
    Joined:
    Dec 3, 2006
    Messages:
    1,050
    Ты применил С-cast вместо С++-cast, т.е. вместо static_cast/const_cast, в данном случае они равносильны. C-cast -- это наследие С. По-хорошему здесь нужен reinterpret_cast, а совсем по-хорошему так писать вообще нельзя :) Если программируешь на С++, забудь о механизмах C.

    Согласен.
     
  3. Booster

    Booster New Member

    Blog Posts:
    0
    Joined:
    Nov 26, 2004
    Messages:
    4,860
    W4FhLF
    Ну внутренне то они ничем не отличаются, это так стилистика С++. Мне часто просто лень писать С++ style cast-ы. А писать так конечно и в мыслях не было.
     
  4. RedLord

    RedLord Member

    Blog Posts:
    0
    Joined:
    Jun 23, 2005
    Messages:
    183
    Location:
    Ukraine
    еще переносимое решение для данной задачи

    CORef* foo(const CORef& a)
    {
    return const_cast<CORef*>(&a);
    }

    int main()
    {
    CORef dummy;
    foo(dummy);
    return 0;
    }