相关疑难解决方法(0)

为什么C++ 11不支持匿名结构,而C11呢?

C11支持匿名结构,如下所示:

struct Foo
{
    struct
    {
        size_t x, y;
    };
};
struct Foo f;
f.x = 17;
f.y = 42;
Run Code Online (Sandbox Code Playgroud)

基本上,这样的成员struct被视为封闭的成员structunion(如果封闭结构本身是匿名的,则递归地).

C++ 11的理由是什么,还包括匿名结构?当然,它们只是非常有用(主要是在工会内部,以消除标识符的输入struct).但它们似乎是对规范的明显补充(以及已经由许多编译器实现的规范),它们肯定必须经过讨论,至少是为了保持与C11标准的兼容性.那他们为什么不加?

c c++ anonymous-types c++11 c11

43
推荐指数
1
解决办法
1万
查看次数

标签 统计

anonymous-types ×1

c ×1

c++ ×1

c++11 ×1

c11 ×1