C11 prend en charge anonyme structures, comme suit:
struct Foo
{
struct
{
size_t x, y;
};
};
struct Foo f;
f.x = 17;
f.y = 42;
Fondamentalement, les membres de l' struct
sont traités comme s'ils étaient des membres de la enfermant struct
ou union
(de manière récursive, si l'affichage de la structure a été lui-même anonyme).
Quelle fut la raison de C++11 pas également y compris les anonymes structures? Ils n'ont que rarement utile (surtout à l'intérieur des syndicats, afin d'éliminer la saisie d'un identifiant pour l' struct
), certainement. Mais ils semble assez évident, outre le cahier des charges (et déjà mis en œuvre par de nombreux compilateurs) qu'ils doivent surement avoir été discuté, à tout le moins, de préserver la compatibilité avec la norme C11. Alors pourquoi n'ont-ils pas ajouté?