Главная страница


ru.algorithms

 
 - RU.ALGORITHMS ----------------------------------------------------------------
 From : Andrey Tarasevich                    2:5020/400     01 Oct 2002  21:34:18
 To : Andrey Tarasevich
 Subject : Re: <none>
 -------------------------------------------------------------------------------- 
 
 Tue Oct 01 2002 19:58, Andrey Tarasevich wrote to Serge Nozhenko:
 
  >> 
  >>   (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> присваивания". Hадеюсь, теперь понятно, что вторая часть предложения
  AT> носит чисто описательный характер, т.е. говорит о том, какое _значение_
  AT> является результатом, но совершенно не говорит о том, когда именно будет
  AT> выполнено присваивание.
 
 В этом плане также полезно обратить внимание на формулировку в оригинальном
 стандарте языка С.
 
 С одной стороны, в разделе 6.3.16 Assignment operators стандарт языка С
 говорит:
 
 "... An assignment expression has the value of the left operand after the
 assignment ..."
 
 Заметь, что в этой формулировке тоже присутствует слово "after". И в этой
 формулировке это слово тоже HЕ налагает никаких временнЫх ограничений. Здесь
 HЕТ требования того, чтобы занесение нового значения в левый операнд делалось
 до вычисления результата assignment expression. Это предложение просто
 описывает, какое значение является результатом assignment expression -
 значение является таким _как_ _будто_ оно "прошло сквозь" левый операнд (т.е.
 было записано туда и затем прочитано оттуда). Повторяю: как будто.
 
 Тем не менее авторы стандарта языка С все таки понимали, что наличие слова
 "after" в вышеприведенной формулировке многими будет понято неправильно. А
 именно, найдутся люди, которым покажется, что слово "after" налагает какие-то
 временнЫе ограничения на момент занесения нового значения в левый операнд. Для
 того, чтобы подчеркнуть неправильность такого толкования, ниже в этот же абзац
 стандарта языка С было добавлено следующее предложение:
 
 "The side effect of updating the stored value of the left operand shall occur
 between the previous and the next sequence point"
 
 Hа самом деле этого последнего предложения модно было и не добавлять - это
 утверждение уже делалось в других местах стандарта С. Тем не менее авторы
 стандарта решили его повторить непосредственно в 6.3.16 для того, чтобы еще
 раз напомнить, что изменение значения левого операнда оператора присваивания
 является _побочным_ _эффектом_ этого оператора и момент выполнения этого
 измененеия (как и любого другого побочного эффекта) точно не определен.
 Вышеупомянутое слово "after" ничего здесь не меняет.
 
 -- 
 Best regards,
 Андрей.
 
 --- ifmail v.2.15dev5
  * Origin: FidoNet Online - http://www.fido-online.com (2:5020/400)
 
 

Вернуться к списку тем, сортированных по: возрастание даты  уменьшение даты  тема  автор 

 Тема:    Автор:    Дата:  
 <none>   stan72   21 Sep 2002 20:01:31 
 Re: <none>   Sergei Paschenko   23 Sep 2002 17:26:11 
 <none>   Dmitry Pyzhov   24 Sep 2002 01:07:14 
 Re: <none>   Andrey Tarasevich   25 Sep 2002 11:00:54 
 <none>   Dmitry Pyzhov   26 Sep 2002 11:28:38 
 Re: <none>   Andrey Tarasevich   27 Sep 2002 10:56:36 
 <none>   Vitaly Mayatskih   27 Sep 2002 17:40:43 
 <none>   Andrey Tarasevich   28 Sep 2002 01:34:37 
 Re: <none>   Anatoly Svishev   28 Sep 2002 00:33:11 
 Re: <none>   Andrey Tarasevich   28 Sep 2002 02:29:40 
 <none>   Aleksey Loginov   28 Sep 2002 11:09:12 
 Re: <none>   Vladislav Gusev   28 Sep 2002 12:30:15 
 Re: <none>   Pavel P   29 Sep 2002 10:27:02 
 <none>   Vitaly Mayatskih   29 Sep 2002 14:17:20 
 Re: <none>   Andrey Tarasevich   29 Sep 2002 23:29:43 
 Re: <none>   Anatoly Svishev   30 Sep 2002 03:07:53 
 Re: <none>   Andrey Tarasevich   30 Sep 2002 08:36:27 
 <none>   Ianos Gnatiuc   30 Sep 2002 22:54:13 
 <none>   Aleksey Loginov   01 Oct 2002 08:52:46 
 <none>   Ianos Gnatiuc   02 Oct 2002 10:59:01 
 <none>   Aleksey Loginov   03 Oct 2002 06:50:24 
 Re: <none>   Andrey Tarasevich   03 Oct 2002 07:40:22 
 Re: <none>   Vladislav Gusev   01 Oct 2002 16:36:43 
 <none>   Nickolas Hirgij   01 Oct 2002 22:50:02 
 Re: <none>   Pavel P   30 Sep 2002 06:22:38 
 <none>   Max Alekseyev   29 Sep 2002 22:46:08 
 Re: <none>   Andrey Tarasevich   30 Sep 2002 11:48:20 
 <none>   Max Alekseyev   30 Sep 2002 13:06:54 
 <none>   Andrey Tarasevich   01 Oct 2002 06:21:35 
 <none>   Serge Nozhenko   01 Oct 2002 15:08:24 
 Re: <none>   Andrey Tarasevich   01 Oct 2002 19:58:24 
 Re: <none>   Andrey Tarasevich   01 Oct 2002 21:34:18 
 <none>   Serge Nozhenko   02 Oct 2002 00:42:48 
 <none>   Andrey Tarasevich   02 Oct 2002 03:44:12 
 <none>   Mike Murov   02 Oct 2002 16:07:27 
 Re: <none>   Stanislav Yaroshenko   03 Oct 2002 01:33:40 
 <none>   Andrey Tarasevich   03 Oct 2002 03:01:09 
 <none>   Andrey Tarasevich   03 Oct 2002 03:49:50 
 Re: <none>   Vladimir A. Pertzel   30 Sep 2002 15:28:40 
 <none>   Ianos Gnatiuc   30 Sep 2002 23:02:32 
 <none>   Georgy Plechanov   23 Sep 2002 17:05:12 
 <none>   Igor Bychkov   24 Sep 2002 21:54:28 
 <none>   Nickolas Hirgij   24 Sep 2002 08:41:05 
 <none>   Ianos Gnatiuc   30 Sep 2002 00:50:35 
 <none>   Stanislav Shwartsman   30 Sep 2002 09:06:00 
 <none>   Ianos Gnatiuc   30 Sep 2002 22:16:12 
 Re: <none>   Vladislav Gusev   01 Oct 2002 16:12:30 
 <none>   Comoderator Of Ru Algorithms   02 Oct 2002 21:09:00 
 <none>   Ianos Gnatiuc   02 Oct 2002 12:02:13 
 Re: <none>   Vladislav Gusev   03 Oct 2002 19:25:24 
 <none>   Nickolas Hirgij   01 Oct 2002 20:38:42 
 Re: <none>   Vladislav Gusev   30 Sep 2002 13:25:00 
 <none>   Ianos Gnatiuc   30 Sep 2002 22:34:18 
 Re: <none>   Vladislav Gusev   01 Oct 2002 16:36:11 
 <none>   Stanislav Shwartsman   01 Oct 2002 22:35:23 
 Re: <none>   Vladislav Gusev   02 Oct 2002 13:14:46 
 <none>   Stanislav Shwartsman   02 Oct 2002 16:51:45 
 Re: <none>   Vladislav Gusev   03 Oct 2002 18:51:00 
 <none>   Dmitry Pyzhov   01 Oct 2002 01:26:34 
 <none>   Ianos Gnatiuc   01 Oct 2002 08:01:13 
 <none>   Nickolas Hirgij   01 Oct 2002 20:32:05 
 <none>   Kirill Frolov   03 Oct 2002 23:45:50 
 <none>   Igor Dolgov   04 Oct 2002 00:00:18 
Архивное /ru.algorithms/1667999743c8d.html, оценка 2 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional