C++怎样把第三方库隐藏在实现下面
来源:互联网 发布:数据分析师有前途吗 编辑:程序博客网 时间:2024/05/16 06:05
相信在做项目过程中,大家肯定会用一大堆开源库,笔者就曾经用到了BOOST、PCL、GDAL、OPENCV、GEOS等等。有时候甚至会更换某个开源库(效率问题或其他原因),甚至是编译太慢(为了智能指针就弄个BOOST进来未免大材小用了),如果能把第三方库隐藏在你自己的类下面那是再好不过了(它对你整个工程的影响只是这个类而已)。
可以使用pimpl技术,其实就是个适配器,举个栗子:
geometry.h//头文件
class geos::geom::Geometry;
class Geometry
{
public:
bool contain(vertex point);
private:
geos::geom::Geometry* m_ptGeom;
};
geometry.cpp//源文件
#include "geometry.h"
#include <geos\geom\CoordinateSequence.h>
#include <geos\geom\GeometryFactory.h>
bool Geometry::contain(vertex point)
{
return m_ptGeom->contain(point);
}
如此就把geos隐藏在你类之下了,引用Geometry时不会觉察到geos的存在,有一天你换掉geos也不会引起大规模的编译
0 0
- C++怎样把第三方库隐藏在实现下面
- 怎样在Cell中使用第三方库加载图片
- 把第三方库MRC换成ARC
- 为什么不能把BlackBerry开发项目deliverables目录下面的jar文件给第三方?
- 怎样在iPhone(touch)上安装第三方软件
- 怎样在Eclipse中使用第三方的.jar文件
- 隐藏在 Google 云存储中的第三方漏洞
- 如何实现把多个第三方输入法转换为系统输入法。在输入法设置时候勾选框默认是勾选的
- 第15篇.导入第三方jar包,并在android系统下面编译 第三方apk系统签名
- Android 平台怎样使用第三方动态库
- android ndk 怎样调用第三方的so库文件
- 求助:在把Qt的Qlabel的winid传入第三方库,进行视频播放,图像出不来
- 黑科技:把第三方 iOS 应用转成动态库
- Object-C常用第三方库
- linux c 使用第三方库
- 在Eclipseme中使用第三方库
- 在android中增加 第三方库
- 在CocoaPods中添加第三方库
- uva 1025 democrazy in danger
- linux ssh
- 使用模板方法模式实现选择题答题 C++
- windows 内存分配尝试(AWE相关API编译器没找到库,所以全部注释)
- [learning opencv] 学习笔记一
- C++怎样把第三方库隐藏在实现下面
- uvalive4987
- Java并发编程:线程间协作的两种方式:wait、notify、notifyAll和Condition
- 【图像处理】图形图像中术语
- RxSwift(一)
- A*算法
- poj1477 box of bricks
- angularjs,ng-include引入html代码片段
- UNICODE与ANSI的区别【转】