Re[2]: Параметр this ?
От: Vi2 Удмуртия http://www.adem.ru
Дата: 23.04.02 05:51
Оценка:
Здравствуйте Андрей Тарасевич, Вы писали:

АТ>Фнукции действительно вызываются последовательно и параметры тоже передаются в ыункции по мере их вызова. Т.е. так, как ты и ожидал. А вот в какой момент вычисляются эти передаваемые пареметры — не определено. Отсюда и неожиданные результаты. Фрагменты кода

АТ>содержат модификацию одного и того скалярного объекта 'z' несколько раз в рамках одного и того же выражения. Такой код порождает неопределенное поведение. Поэтому предсказать его результат никак нельзя.

Может это как-то коррелирует с тем, что неявно существует ЕЩЕ один параметр this, который должен быть вычислен? Т.е. если перевести С++ на С (примерно так), то будет, наверное, понятно поведение компилятора.
    a.f1( ++z,1 ).а1( ++z,2 ).f1( ++z,3 );
    // =>
    f1C( f1C( f1C( &a, ++z,1 ), ++z,2 ), ++z,3 )
Vita
Выше головы не прыгнешь, ниже земли не упадешь, дальше границы не убежишь! © КВН НГУ
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.