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