繁体   English   中英

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

[英]Central Typedefs.h file - is it a good idea?

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

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

我知道我经常需要像VectorParameterList这样的类/类型,它将由我尚未决定的一些框架提供。

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

typedef void Vector; // TODO: set vector class
typedef void ParameterList; // TODO: set parameter list class

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

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

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

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

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

 typedef void Vector;

VS

 struct Vector{};

请注意,您将无法使用映射到相同类型的typedef重载函数:

void foo(Vector);
void foo(ParameterList);   // error: foo(void) already declared

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM