为什么要有透明性?如果别人不关心实现,他可以折叠代码(现在的IDE几乎都支持),只看函数原型和注释。不考虑需要替换【实现方法】的情况。不考虑继承、多态、虚函数等。加上#pragma once,不考虑重定义。
2 回答
阿晨1998
TA贡献2037条经验 获得超6个赞
楼上说的不对啊,分开定义根本目的并不是说重定义。就算你把函数定义在一个文件里面,照样可以的,不然前向声明还能存在吗?分开定义首先是为了简洁,谁会觉得把函数声明和定义都放在一个文件里面好?第二,在程序设计中,编写人员可能只提供一个.lib文件和头文件或DLL文件,使用者便可以应用到自己的程序中,也是方便了隐藏代码。不全面,请谅解。
追问
提供.lib&.dll也是为了隐藏代码对吗?这个(即实现了透明性)有什么好处?
追答
也不全是为这个啊。Lib文件和Dll文件是经过编译的,所以使用者使用的时候编译速度较纯写代码快很多。而且Dll函数也有导出函数和非导出函数。使用者只能使用导出函数。
- 2 回答
- 0 关注
- 1327 浏览
添加回答
举报
0/150
提交
取消