¿Son las "estructuras anónimas" estándar? Y, realmente, ¿qué son ellos?

MSDNcalcula que las estructuras anónimas no son estándar en C ++:

Una extensión de Microsoft C le permite declarar una variable de estructura dentro de otra estructura sin darle un nombre. Estas estructuras anidadas se llaman estructuras anónimas. C ++ no permite estructuras anónimas.

Puede acceder a los miembros de una estructura anónima como si fueran miembros en la estructura contenedora.

@ K-ballo está de acuerdo.

Me dicen que esta característica no es necesariamente la misma que la simple creación de una estructura sin nombre, pero no puedo ver una distinción en términos de redacción estándar.

C ++ 11 dice:

[C++11: 9/1]: [..] A especificador de clase cuyocabeza de clase omite elnombre de cabeza de clase define una clase sin nombre.

y proporciona una construcción gramatical completa para una definición de tipo que no tiene un nombre.

C ++ 03 carece de esta redacción explícita, pero de manera similar indica que elidentifier en una definición de tipo es opcional, y hace referencia a "clases sin nombre" en9.4.2/5 y3.5/4.

Entonces, ¿MSDN está mal y estas cosas son completamente estándar?¿O hay alguna sutileza que me falta entre "estructuras / clases sin nombre" y la misma cuando se utiliza como miembros que evita que queden cubiertos por esta funcionalidad de C ++ 03 / C ++ 11?¿Me estoy perdiendo alguna diferencia fundamental entre "estructura anónima" y "estructura anónima"? Me parecen sinónimos.

Respuestas a la pregunta(3)

Su respuesta a la pregunta