Avatar ·

C++中struct和typedef struct的区别

大家好!我最近在学完C语言后开始学习C++,对于结构体的声明产生了一个疑问。在C语言中,我习惯这样写: ```c typedef struct { int x; int y; } Point; ``` 然后像普通类型一样使用`Point`。但当我转到C++时,我看到很多人直接写: ```cpp struct Point { int x; int y; }; ``` 然后直接使用`Point`而不加`struct`。这让我很困惑。我在C++中尝试了两种写法,都能正常工作。但两者之间有什么区别?在C++中是否还需要使用`typedef struct`?或者这被认为是不好的实践?我听说在C++中结构体几乎和class一样,但不确定这对声明有什么影响。`typedef`会不会影响性能或编译器处理代码的方式?希望能得到详细的解释和示例。 <<>>

关键区别:C vs C++

在C++中,关键字struct会自动创建一个类型名,因此typedef