相关疑难解决方法(0)

我什么时候应该在C++中使用typedef?

在我多年的C++(MFC)编程中,我从未觉得需要使用typedef,所以我真的不知道它用于什么.我应该在哪里使用它?有没有使用typedef首选的真实情况?或者这真的是一个特定于C的关键字?

c++ typedef

67
推荐指数
7
解决办法
5万
查看次数

前向声明包括,声明包括(ClassFwd.h + Class.h)

在Effective C++(第3版)中,Scott Meyers在第31项中建议,除了经典的声明(.h)和定义(.cpp)文件之外,类应该具有前向声明包含文件(fwd.h),哪个类不需要完整定义可以使用,而不是向前声明自己.

我有点看到它的情况,但我真的不认为这是一个可行的选择...它似乎很难维持,相当矫枉过正,几乎没有必要.

但是,我可以看到它用于模板前向声明,它相当重.但对于简单的课程?这似乎很难维护,并且会创建一大堆几乎空的包含文件,这些文件只是用于非常小的目的......值得麻烦吗?

这是一个例子:

// Class.h
class Class
{
    Class();
    ~Class();
};

// ClassFwd.h
class Class;

// Class.cpp
Class::Class()
{
}

Class::~Class()
{
}
Run Code Online (Sandbox Code Playgroud)

我的问题:

你们有什么感想?如果这是一个很好的做法?

注意我最感兴趣的是这个练习的论据,看看我是否错过了一些让我同意Scott Meyers的内容.

c++ include forward-declaration effective-c++

11
推荐指数
1
解决办法
2533
查看次数