码迷,mamicode.com
首页 > 编程语言 > 详细

为什么C++中声明和定义要分开写

时间:2017-08-02 17:41:57      阅读:154      评论:0      收藏:0      [点我收藏+]

标签:命名空间   链接错误   .cpp   错误   头文件   声明   init   size   实用   

现在开始写项目了,你会发现我们一般都要写一个cpp,对应的还得有一个h文件,那么为什么在C++中我们要这么做?

.h就是声明,.cpp就是实现,而所谓分离式实现就是指“声明”和“定义”分别保存在不同的文件中,声明保存在.h文件、定义保存在.cpp文件中。

 

那么将声明和定义分离有什么意义吗?

首先从非分离式(声明的同时给出定义)看,其内容一般保存在.h文件中,以供多个源文件引用。

但是将定义放在头文件,那么当多个源文件使用#include命令包含此类的头文件便会在链接阶段出现“multiple definition”链接错误!

那么想让多个文件使用此头文件,又不引发链接的“multiple definition”错误该怎么办呢?

分离式的实现便可以解决这个问题。因为.h文件中只包含声明,即使被多个源文件引用也不会导致“multiple definition”链接错误。

所以分离式实现增强了命名空间的实用性。

为什么C++中声明和定义要分开写

标签:命名空间   链接错误   .cpp   错误   头文件   声明   init   size   实用   

原文地址:http://www.cnblogs.com/dengwuxie/p/7275004.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!