Являются ли «анонимные структуры» стандартными? И действительно, что они?

MSDNсчитает что анонимные структуры нестандартны в C ++:

Расширение Microsoft C позволяет объявлять структурную переменную в другой структуре, не называя ее имени. Эти вложенные структуры называются анонимными структурами. C ++ не допускает анонимных структур.

Вы можете получить доступ к членам анонимной структуры, как если бы они были членами в содержащей структуре.

@ K-Балло agrees.I»

Мне сказали, что эта функция неТочно так же, как просто создание безымянной структуры, но я могуне вижу различия с точки зрения стандартной формулировки.

C ++ 11 говорит:

[C++11: 9/1][..] Aкласса спецификатор чьякласс-руководитель опускает-Имя-руководитель класса определяет безымянный класс.

и обеспечивает полную грамматическую конструкцию для определения типа, в котором отсутствует имя.

C ++ 03 не имеет такой явной формулировки, но аналогичным образом указывает, чтоidentifier в определении типа не является обязательным, и делает ссылку на "безымянные уроки в9.4.2/5 а также .3.5/4

Так что MSDN не так, и все это совершенно стандартно?Или есть какая-то тонкость, которую ям отсутствует между "безымянные структуры / классы " и то же самое при использовании в качестве членов, которые препятствуют тому, чтобы они были охвачены этой функциональностью C ++ 03 / C ++ 11?Мне не хватает какой-то принципиальной разницы междубезымянная структура а также "анонимная структура "? Они похожи на синонимы для меня.

Ответы на вопрос(3)

Ваш ответ на вопрос