摘要: C++程序的设计机制2 Pimpl机制pImpl惯用手法的运用方式大家都很清楚,其主要作用是解开类的使用接口和实现的耦合。本文从Pimpl机制分析开始讲起,一起来看。AD:Pimpl机制是Private Implementation的缩写,我们常常听到诸如“不要改动你的公有接口”这样的建议,所以我们一般都会修改私有接口,但是这会导致包含该头文件的 所有源文件都要重新编译,这会是个麻烦事儿。Pimpl机制,顾名思义,将实现私有化,力图使得头文件对改变不透明。机制分析首先,我们先看看不使用这个机制的一个实现://MyBase.h classMyBase{ public: intfoo(); }; 阅读全文
posted @ 2013-01-29 09:38 最轻 阅读(223) 评论(0) 推荐(0) 编辑
摘要: C++程序的设计机制1 NVI机制我们都知道在C++程序设计中,存在一些设计开发的机制。本文主要介绍其中的NVI机制,也就是Non-Virtual Interface,希望对你有帮助,一起来看。AD:在C++的程序设计中有一些设计开发的典型机制需要整理讨论,在此抛砖引玉,为自己做积累,请高人也多多指教。1.简介在标准C++库中我们可以看到这样的一个现象:6个公有虚函数,并且都是std::exception::what()和其重载。142个非公有虚函数。这样设计的目的何在呢,为什么“多此一举”的把虚函数设置为非公有呢?这就是NVI机制要求的:将虚函数声明为非公有,而将公有函数都声明为非虚——虚拟 阅读全文
posted @ 2013-01-29 09:31 最轻 阅读(285) 评论(0) 推荐(0) 编辑