Не кинокритик. Не палеонтолог. (plakhov) wrote,
Не кинокритик. Не палеонтолог.
plakhov

Categories:

C(++) загадка

Придумаете способ ошибиться с числом уровней indirection'а указателя так, чтобы все отлично компилировалось, не падало, но работало неправильно?

Формальная постановка задачи: написать код, который компилируется, работает неверно (но не падает), и исправляется расстановкой и/или удалением некоторого количества символов * и & (только в контексте объявления, разыменования или получения указателя).
Мой ответ через пару часов. Комментарии пока скринятся.

Upd. Простая что-то загадка получается. Давайте усложним:
1) не пользоваться перегрузкой функций: слишком уж легко объявить f(T) и f(T*), ведущие себя по-разному
2) не пользоваться c-style и reinterpret-cast'ами
3) (нечеткое правило) код должен быть более-менее естественным (в том смысле, что вы не удивитесь, встретив его в реальном проекте)

Тем, кто дочитал, в качестве бонуса анекдот (дважды встречал его в "работающем" коде разных авторов):
if (x != ENUM_ONE_VALUE || x != ENUM_OTHER_VALUE) ...;
(компиляторы при этом злодейски молчат)

Upd. Ответы открыл, мой вариант в следующем посте
Tags: soft
Subscribe

  • Ссылки

    После того, как сей блог удачно попал на Лепру (или куда там), тут появилось ещё примерно сто новых читателей, и я теперь, как дурак, чувствую себя…

  • (no subject)

    Сегодня у меня день рождения. На свой день рождения я хочу следующий подарок: расскажите, пожалуйста, в комментариях что-нибудь интересное из вашей…

  • Выходя из шкафа

    Самая важная вещь, которую я узнал, читая /r/askhistorians, оказалась не про историков и даже не очень про прошлое. Так получается, что слово…

  • Post a new comment

    Error

    default userpic

    Your reply will be screened

    When you submit the form an invisible reCAPTCHA check will be performed.
    You must follow the Privacy Policy and Google Terms of use.
  • 18 comments

  • Ссылки

    После того, как сей блог удачно попал на Лепру (или куда там), тут появилось ещё примерно сто новых читателей, и я теперь, как дурак, чувствую себя…

  • (no subject)

    Сегодня у меня день рождения. На свой день рождения я хочу следующий подарок: расскажите, пожалуйста, в комментариях что-нибудь интересное из вашей…

  • Выходя из шкафа

    Самая важная вещь, которую я узнал, читая /r/askhistorians, оказалась не про историков и даже не очень про прошлое. Так получается, что слово…