首页| 论坛| 消息

标题:#include vs class
作者:neeme
日期:2016-06-15 21:03
内容:

大家好:
在头文件
#include
#include

class QLineEdit;
class QLabel;
两者有什么区别? 谢谢!


#1 [realfan 06-15 21:35]
前者是定义包含,后者是声明。
在头文件中,如果只用到两个类的指针,只要声明就可以了。在cpp中,再include相应的类头文件。
一般是建议在文件中声明,源文件中,包含实现。
#2 [stlcours 06-16 04:33]
虽然用#include更正统一些,class显得不伦不类,但是由于CPP的固有缺陷,#include编译奇慢无比。一个中性项目(也就几万行代码),上个厕所再倒杯水回来,编译还没结束,原因仅仅是因为改动了通用类的头文件。如果是class就不会有这个问题。现在见到改基础类的声明就觉得有点怕,或者提前准备好做点别的事情~
#3 [尘中远 06-16 13:10]
尽量使用class形式的后缀声明,后缀声明有个前提,头文件不能有这个类的实例,也就是你不能如下:
class A;
class B{
……
A m_a;
};
你只能如下:
class A;
class B{
……
A* m_a;
};
然后在cpp文件#include
这样做好处是提高编译速度,会大大的提高编译速度!

回复 发表
主题 版块