<none>

From
Andrey Tarasevich ()
To
Serge Nozhenko
Date
2002-10-02T03:44:12Z
Area
RU.ALGORITHMS
From: "Andrey Tarasevich" <atarasevich@telocity.com>

Wed Oct 02 2002 00:42, Serge Nozhenko wrote to Andrey Tarasevich:

 >>> (5.17.1): ...The result of an assigment expression is the value stored
 >>> in the left operand _after the assigment has taken place_...   Читать
 >>> медленно. ;-) ...

 AT>> Я уже читал. И медленно, и быстро :) Читать недостаточно, надо еще
 AT>> _понимать_, что именно хотели сказать этим текстом. Частично переведу на
 AT>> русский наиболее близко к смыслу: "Результатом assignment expression
 AT>> является значение, которое сохранится в левом операнде после выполнения
 AT>> присваивания". Надеюсь, теперь понятно,

 SN>   Не, не понятно. Я вижу perfect time, но в упор не вижу future, которое
 SN> могло бы дать в переводе "сохранится". Перевод на самом деле звучит так
 SN> (несколько не литературно, зато буквально): "Результат assignment
 SN> expression - это значение, сохраненное (вар.: хранящееся) в левом
 SN> операнде после того, как имело место присваивание."

Без разницы. Я не против твоего варианта перевода. Мне остается только
повторить, что причастный оборот "сохраненное в левом опернде..." является
лишь описанием значения-результата и не является требованием сохранить это
значение в левом операнде для получения этого результата.

Эта тема уже достаточно много мусолилась в том же comp.std.c++. Общий
консенсус состоит в том, что формулировка соответствующего пункта стандарта
является запутывающей. Комитет не ставил своей целью создать точку следования
в процессе вычисления операторов присваивания и по-прежнему предоставляет
компиляторам полную свободу в вопросе выбора момента и порядка возникновения
побочных эффектов выражений (в рамках пары соседних точек следования). 

 SN>   BTW, возможная неоднозначность в порядке произведения сторонних
 SN> эффектов (как, например в случае инкремента с последующим присваиванием в
 SN> тот же операнд) относится только к скалярным типам. Стоит обернуть
 SN> скалярный тип в класс, - и все начинает определяться исключительно
 SN> синтаксическим порядком операций. Надеюсь, не надо объяснять, почему.

Я уже не раз делал замечание о том, что все вышесказанное относится только к
скалярным типам. Не понимаю, откуда могла возникнуть мысль о необходимости
какого-то объяснения...

Best regards,
Андрей.

--- ifmail v.2.15dev5
 * Origin: FidoNet Online - http://www.fido-online.com (2:5020/400)