Заявления-выражения GCC - какова их история по сравнению со стандартами C?

С gccследующее является допустимым оператором C:

foo ({bar(1); baz = 2;})

Что эквивалентно

bar(1);
baz = 2;
foo(2);

Отредактировано: вот мои (надеюсь, более информативные) вопросы:

  • Был ли комитет / орган по стандартизации ISO C ходатайствовал о том, чтобы сделать их частью стандарта C?
  • Если это было, это было до C99? До С11? Потом?
  • По каким причинам было указано или предложено не принимать это как часть языка?
  • Есть ли какая-то большая ловушка или недостаток в использовании этой конструкции, о которой я не знаю?

0 ответов

Другие вопросы по тегам