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
在每个文件中?
我怀疑这会起作用,除非您使用,例如Vector*
.你将无法拥有Vector
对象或参数,因此它几乎毫无意义.
并且,作为指针使用,您可以很好地进行前向声明.
无论如何,我真的没有看到任何这种需要.你可以在不必实现它的情况下声明一个空类,并且它比以下更容易编写typedef
:
typedef void Vector;
Run Code Online (Sandbox Code Playgroud)
VS
struct Vector{};
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
643 次 |
最近记录: |