Показать сообщение отдельно
  #14 (permalink)  
Старый 03.07.2012, 17:39
Профессор
Отправить личное сообщение для oneguy Посмотреть профиль Найти все сообщения от oneguy
 
Регистрация: 31.05.2012
Сообщений: 396

Мы не будем брать ко вниманию автотическую подстановку точки с запятой, будем считать, что они везде расставлены, где надо.
Тогда выражение не может являться одновременно инструкцией.
Это выражения (без ";" вконце)
a=x+y+z
1
i++
a=b?0:1, func(y++)+a>>2

Выражение-инструкция - это выражение с ";" вконце. Выражения-инструкции являются видом инструкций, но не выражений. То есть следующие являются одновременно инструкциями и выражениями-инструкциями, но не выражениями:
a=x+y+z;
1;
i++;
a=b?0:1, func(y++)+a>>2;

Сообщение от StasTelnov
Инструкция-выражение - это выражение имеющее побочные эффекты. Например: составные выражения, содержащие операторы '=', '++' , '--', '()' ,'delete'.
Это неправильно. Инструкция-выражение - это то, что описано выше.

Последний раз редактировалось oneguy, 03.07.2012 в 17:42.
Ответить с цитированием