联系我|关于我

缘起

Linux OpenGL 嵌入式智能设备 C\C++\Python

c++设计中的几种机制

1、PIMPL

    私有化实现。解决头文件依赖,文件修改后整个系统需要重新编译的问题。他实现的是一个简单的桥接模式。在类中指针初始化的空间是固定的,不需要知道其具体 的类型,所有采用前置声明的方式,可以不需要在头文件中引用他的头文件。这样即隐藏了引用类的实现细节,又减少了编译时文件修改后的编译关联性。

2、NVI

   提供一个公有的非虚接口函数,将虚函数私有化。实现行为和接口的分离。因为虚函数的多态性,公有非虚函数自然会去调用相应的虚函数实现。通过对虚函数的包装达到对接口与实现分离的效果。

3、RAII

   保证析构函数总是正确被执行。借助函数栈原理,在申明周期结束的时候自动销毁,执行析构。在类的构造函数中申请资源,在析构函数中释放资源。也就是说局部 资源对象实例应该尽量分配在栈上而不是堆上,或者使用智能指针。智能指针使用时本身初始化在栈上,保证了在生命周期区域结束时正确的释放资源。

posted on 2012-02-21 16:26 cnsworder 阅读(88) 评论(0)  编辑 收藏 引用


只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理


公告

Linux OpenGL 嵌入式智能设备 C\C++\Python

导航

<2012年2月>
2930311234
567891011
12131415161718
19202122232425
26272829123
45678910

统计

常用链接

留言簿(1)

随笔分类

随笔档案(1)

文章分类

最新随笔

搜索

积分与排名

最新评论