c++ - validos - uso del punto y coma rae
¿La coma en una lista de variables es un punto de secuencia? (2)
Como sospecha que hay un punto de secuencia después de cada expresión de inicializador, porque son expresiones completas (1.9 / 16, 1.9 / 12).
En el siguiente tipo de código, ¿hay un punto de secuencia entre cada construcción de variable o el resultado no está definido?
int a = 0;
int b = a++, c = a++;
No pude encontrar en el estándar una referencia específica a un punto de secuencia aquí. ¿Eso significa que no está definido, o simplemente que fallé en mi búsqueda? La finalización de una expresión es un punto de secuencia, pero ¿la inicialización anterior también cuenta?
Creo que el comportamiento está bien definido debido a 8 [dcl.decl] / 3
Cada declarador de inicio en una declaración se analiza por separado como si estuviera en una declaración por sí mismo.
Que incluso se explica adicionalmente en una nota a pie de página como
Una declaración con varios declaradores suele ser equivalente a la secuencia correspondiente de declaraciones, cada una con un solo declarador. Es decir
T D1, D2, ... Dn;
es generalmente igual a
T D1; T D2; ... T Dn;