Телесистемы
 Разработка, производство и продажа радиоэлектронной аппаратуры
На главную   | Карта сайта | Пишите нам | В избранное
Требуется программист в Зеленограде
- обработка данных с датчиков; ColdFire; 40 тыс.
e-mail:jobsmp@pochta.ru

Телесистемы | Электроника | Конференция «Микроконтроллеры и их применение»

Цитату из стандарта, говорящую, что выражение с || вычисляется таким-то и таким-то образом я уже приводил. В том месте стандарта не уточняется - обязан результат выражения использоваться под if() или в виде flag = x || f(); или вообще выражение может стоять само по себе (как обычно и стоят присваивающие выражения), так что порядок вычисления выражения не зависит от того, стоит оно одно или (+)

Отправлено ReAl 19 июля 2009, г. 19:59
В ответ на: В последний раз - если человек понимает работу if( x || f() ) {} то он должен без труда понять и работу части этой записи - "голого" выражения (x || f()), результат вычисления которого отбрасывается за ненадобностью, как и результат вычисления присваивающего выражения a = b; Второе чаще применяется "само по себе", но бывает и как x = a = b; и как if( a = b) {}. Первое чаще стоит под if(), но может применяться само по себе. Принципиальной разницы отправлено пользователем ReAl 19 июля 2009, г. 19:49

является оно частью более сложного выражения, в том числе
(x || f() ) && (y || g())
или нет, стит ли оно само по себе.
Место в стандарте, гласящее, что любое выражение ДОЛЖНО вычисляться "как на абстрактной машине" включая все побочные эффекты и только потом оптимизатор имеет право что-то скоращать, если это не поменяет результат - приводить?
Ну так вот

x || f();


это всего лишь одно из многих отдельно стоящих выражений, равноправное с
a = 0;

и
++i;

Оно должно быть вычислено. Как оно вычисляется - тоже описано.

Нечего плакаться, что основное содержание данного форума - хохлосрач, раз тут тот уровень, который на электрониксе идёт в разделе "в помощь начинающему", тут идёт на правах "трюков".



Составить ответ | Вернуться на конференцию.

Ответы


Отправка ответа
Имя*: 
Пароль: 
E-mail: 
Тема*:

Сообщение:

Ссылка на URL: 
URL изображения: 

если вы незарегистрированный на форуме пользователь, то
для успешного добавления сообщения заполните поле, как указано ниже:
введите число 387:

Перейти к списку ответов | Конференция | Раздел "Электроника" | Главная страница | Карта сайта

Rambler's Top100 Рейтинг@Mail.ru
 
Web telesys.ru