‮Сдвиг по фазе (kincajou) wrote,
‮Сдвиг по фазе
kincajou

gcc

для меня стало большим откровением, что ежели у вас аргументы сишной функции сами есть результаты вызовов функций - типа так:
foo (i, bar(i,&j), j);
и при этом (как в примере выше) один из этих вызовов на лету возвращает, через указатель, НОВОЕ значение какой-то там переменной j, которую вы чуть позже передаёте аргументом,.. то на самом деле вовсе не обязательно, что функция foo получит это НОВОЕ значение j. Оно запросто может оказаться предыдущим, потому что программист идиот, а компилятор умный.

если же сделать так:
k = bar(i,&j);
foo (i, k, j);

то всё хорошо
Subscribe

  • Post a new comment

    Error

    Anonymous comments are disabled in this journal

    default userpic

    Your reply will be screened

    Your IP address will be recorded 

  • 16 comments