具有一个成员或仅 typedef 的结构

iHa*_*ing 5 c++ struct typedef

在编码时,我声明结构或类,因为它们基于现实世界的对象/想法/概念。

但通常这些结构/类只有一个成员。所以我想知道如果我简单地做一个 typedef 是否有什么区别。

然后我不确定这是否正确,因为在我看来 typedef 不是“对象”。

那么我应该这样做:

struct Y { int x; }
Run Code Online (Sandbox Code Playgroud)

要不就:

typedef int Y;
Run Code Online (Sandbox Code Playgroud)

有什么区别吗?我对结构体是对象而 typedef 是其他东西的看法是否正确?

Rem*_*eau 0

在大多数情况下,无论哪种方式都并不重要。重要的是您是否需要基于Y参数重载函数,或者您想要添加自定义方法(或覆盖运算符)Y。Atypedef只是一个别名,因此就编译器而言typedef int Y只是一个普通类型,而是它自己独特的类型。intstruct Y