单个或多个结构

Singular or multiple structs?

本文关键字:结构 单个      更新时间:2023-10-16

我想使用结构来使我的代码更有条理,但哪一个更合适,而且我需要放入结构体中的东西数量约为 30+,如果前者更好,限制是什么?或者如果有的话,一般来说只是一个更好的主意。

struct blah1
{
   int x;
   int y;
} w, e, f;

还是我应该使用它?

struct blah2
{
   int x;
   int y;
} w;
struct blah3
{
   int x;
   int y;
} e;
struct blah1
{
   int x;
   int y;
} r;

您的C++结构声明样式让我想起了 C 样式语法,这对于现代C++来说是晦涩难懂的。对C++编译器使用以下语法:

struct myType
{
   int x;
   int y;
};
myType a{0, 1};
myType b{2, 3};
  • C++不需要typedef来删除结构,并且仅使用声明来不初始化变量是错误的样式。将struct定义视为类型声明,然后使用常规type varname(constructor_arg);语法。
  • 现代C++也接受新的大括号初始化语法。对于像这样的简单结构myType,不必编写构造函数并简单地从简单的定义中推断出a.x = 0; a.y = 1;

如果您的对象具有相似的类型和结构,只需使用相同的类型。使用类型系统对您有利,在编程时不会重复自己,并减少无关代码的重复。