发布时间:2013-08-14 14:30:52
C++模板有很多特性需要我们去挖掘,很多新的设计模式也都与模板使用相关,我们知道模板的一个基本特性就是可以根据传入的类型产生新的类型。围绕这个特性,可以衍生出很多的其它特性,比如自动为不同的类生成static变量,为不同的类型生成不同的行为等等。这篇文章我想讨论的是如何在C++模板中引用传入类的一个特定的.........【阅读全文】
发布时间:2013-04-04 15:31:07
大家所熟知的数据容器,包括STL提供的容器,很重要的一部分是与内存管理相关的,也就是说你这个容器要为节点分配内存,你需要提供一系列内存分配的策略来供用户选择。我们从哪里学来的这种数据结构?教科书,产品代码,甚至面试(面试者往往会要求你清楚描述,或者写出内存管理部分的代码)。在我们为我们的软件提供LIB的.........【阅读全文】
发布时间:2013-03-24 13:24:49
2)solution-2(方案2): 用数据变量1) Solution-1 (方案一)公共继承1) Solution-1 (方案一)公共继承1) Solution-1 (方案一)公共继承续 I 中最后提出的问题:如何让用户写一行代码就可以利用embedded的方式获得base class提供的功能?你也许会问,这重要吗?多写几行又不会死人 :) 作为一个基础设施的设计者,你千万不.........【阅读全文】
发布时间:2013-03-01 11:48:28
在平常工作中,用过很多设计模式,但是今天我要描述的应该是被我用的最多的,因为它的抽象功能很强大,在很多场合都可以被用上。有趣的是,这种设计模式又有很多种变形,这些变形可以用于不同的平衡策略。下面我们来一一讲解它们。 1. Problem(问题)如果我们想要给某个类加上计数功能,这个功能可以使.........【阅读全文】
发布时间:2013-02-03 22:48:59
static关键字在C/C++中应用广泛,而且有不同的语义。这篇文章,我主要想探讨一下用static修饰变量的时候,它都有些什么语义,这些变量都有哪些特性。1.源文件中用static定义全局变量这个变量只能在这个文件中可见,其它任何文件中对这个变量都是不可见的。而且你不可以用extern把这个变量导出去。 2.........【阅读全文】