GCC有一个选项,-fms-extensions允许使用匿名结构成员:
struct a {
int x;
}
struct b {
int y;
struct a;
}
Run Code Online (Sandbox Code Playgroud)
这允许简单地通过使用来访问x元素.这非常有用,但它似乎是由GCC模拟的Microsoft扩展.struct bb.x
使用此选项会使我的代码不那么便携,还是被认为是"安全"使用?
考虑到在2011版标准(C11)中将一个看似等效的功能(称为匿名结构和联合)添加到C中,我想说使用此功能并不是一个坏主意.MS编译器支持它,GCC和"GNU C"兼容编译器如果被要求支持它,并且符合现代标准的新编译器支持它.
| 归档时间: |
|
| 查看次数: |
4972 次 |
| 最近记录: |