Central Typedefs.h文件 - 这是一个好主意吗?

cls*_*udt 2 c++ typedef header-files

来自Java世界,其中没有typedef,我对C++开发人员提出了一个问题:

我的任务是用C++重写一个大的MATLAB项目.为了了解代码的结构,我已经开始重建模块和类结构而不实际实现该功能.

我知道我经常需要类Vector和的类/类型ParameterList,这将由我尚未决定的一些框架提供.

所以我创建了一个中心头文件Typedefs.h,其中我有类型定义

typedef void Vector; // TODO: set vector class
typedef void ParameterList; // TODO: set parameter list class
Run Code Online (Sandbox Code Playgroud)

目前,这些设置为void,但我可以使用这些类型来编写类骨架和方法签名.后来我可以用实际类型替换它们.

这是有道理的吗?如果是,有没有办法避免手动包含Typedefs.h在每个文件中?

Luc*_*ore 6

我怀疑这会起作用,除非您使用,例如Vector*.你将无法拥有Vector对象或参数,因此它几乎毫无意义.

并且,作为指针使用,您可以很好地进行前向声明.

无论如何,我真的没有看到任何这种需要.你可以在不必实现它的情况下声明一个空类,并且它比以下更容易编写typedef:

 typedef void Vector;
Run Code Online (Sandbox Code Playgroud)

VS

 struct Vector{};
Run Code Online (Sandbox Code Playgroud)