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