Думаю, название довольно ясно. Я не совсем уверен в этом, и я не могу найти хороший ответ через Google (увы, я не привержен изящному искусству стандартов-фу), поэтому я спрашиваю:
int i = x++, j = x++;
Это определено? Я совершенно уверен, что i = x ++, j = x ++;
как нормальный оператор будет неопределенным поведением - это оператор запятой, который является точкой последовательности и был бы допустимым, но не source совершенно ясно, заканчивается ли инициализатор точкой с запятой или после того, как начинается объявление следующей переменной, и, поскольку это не используемый оператор запятой, я не могу найти четкого ответа. Итак, либо а) запятая завершает инициализатор, является точкой последовательности, и это работает, либо б) нет. Что это такое?
И чтобы исключить, я знаю, что я должен упростить головную боль и просто написать это как:
int i = x++;
int j = x++;
И гарантировать, что это определено. Я прошу большего из любопытства.