博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

include

Posted on 2016-01-19 12:28  bw_0927  阅读(140)  评论(0)    收藏  举报
.h是 头文件
.cpp 是源文件

c++中通常 将
struct class
#define typedef function 等的定义放到头文件中
而将 成员声明 和 function实现 类实现 放入cpp中

h和cpp中同时可以使用include包含头文件,但是我们通常 有这个习惯:

也就是尽量不要在.h中include非必须的其他.h


也就是说
当.h中的 定义 内容 用到了指针或引用T* t,那么我们 没有必要 #include "t.h"。 只需要在.h中声明一下
class T;
即可。

当 .h中用到了T t;也就是 非指针时,此时可以在.h中 include "t.h"

以上均是书写规范问题。当然所有的.h都include进来也不会编译错。

至于为什么有这个书写规范 就需要 你再仔细理解 一下c++接口设计了。也就是说 如果你的.h作为一个模块给别人使用时 没有必要 把 没有用的.h同时提供给别人。

class A 的 cpp 文件第一个包含的头文件应该是 class A 的头文件


参见
http://www.boost.org/doc/libs/1_60_0/doc/html/boost_asio/example/cpp03/http/server/connection.hpp
中的class connection_manager;声明