У меня самый простой оператор c ++, объявляющий переменную "a":
int a = ({ int b = 10; b; });
Как говорят недавние gcc и clang, это допустимый оператор, который действительно объявляет переменную a
, имеющую значение 10.
Вопрос: что это?Я знаю о различных типах выражений.Я знаю о различных типах утверждений.Но я не могу найти в стандарте c ++ 14 упоминания о том, что «оператор блока как выражение возвращает последнее внутреннее вычисленное выражение» или что-то в этом роде.
Может кто-нибудь указать мне точные строки стандартного высказывания, котороеКодовая строка полностью действительна?