我只是在C++的上下文中提问.
struct x1 { ... };
typedef struct { ... } x2;
int main()
{
x1 a;
x2 b;
}
Run Code Online (Sandbox Code Playgroud)
第一个定义了一个名为 的类x1。
第二个定义了一个未命名的类,并通过名称定义了一个类型别名x2。
在 C++ 中,差异非常微妙。您可以通过尝试使用相同名称声明函数来观察差异:
void x1(); // OK
void x2(); // not OK, redefined as a different type of symbol
Run Code Online (Sandbox Code Playgroud)
实际上,您应该避免在同一命名空间中定义与类同名的函数,因此这种差异几乎不会出现。第一个通常是首选,因为它更简单。
在 C 语言中,这种差异对标识符的使用影响更大一些。
| 归档时间: |
|
| 查看次数: |
181 次 |
| 最近记录: |