Перегрузка &

Тема в разделе "LANGS.C", создана пользователем Vilco, 10 авг 2008.

  1. Vilco

    Vilco Vitaly

    Публикаций:
    0
    Регистрация:
    5 мар 2007
    Сообщения:
    190
    Адрес:
    Nsk, Russia
    Угу. Ток я ответ подсмотрел=)
    Ну эт кстати логично, ведь мы и есть наиболее заинтересованное лицо
     
  2. W4FhLF

    W4FhLF New Member

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

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

    Booster New Member

    Публикаций:
    0
    Регистрация:
    26 ноя 2004
    Сообщения:
    4.860
    W4FhLF
    Ну внутренне то они ничем не отличаются, это так стилистика С++. Мне часто просто лень писать С++ style cast-ы. А писать так конечно и в мыслях не было.
     
  4. RedLord

    RedLord Member

    Публикаций:
    0
    Регистрация:
    23 июн 2005
    Сообщения:
    183
    Адрес:
    Ukraine
    еще переносимое решение для данной задачи

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

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