摘要: 1 第十七章 metaprogram1.1 Metaprogram的第一个例子书上举了一个计算3的N次幂的例子,我将其扩展为计算M的N次幂。代码如下:template<int M, int N>class Power{public: enum{ result = M*Power<M, N-1>::result};};template<int M>class Po... 阅读全文
posted @ 2008-12-03 21:25 拿走不谢 阅读(836) 评论(0) 推荐(0) 编辑
摘要: 1 第十章 实例化 1.1 On-Demand实例化 有时又被称作隐式实例化,或者自动实例化。 1.2 延迟实例化 1.3 C++中的实例化模型 1.3.1 两阶段查找 当对模板进行解析的时候,编译器并不能解析依赖型名称,于是,编译器会在POI再次查找这些依赖型名称。另一方面,非依赖型名称在首次看到模板的时候就进行查找,因此在第一次查找时就可以诊断... 阅读全文
posted @ 2008-12-03 21:23 拿走不谢 阅读(1069) 评论(0) 推荐(0) 编辑
摘要: 1 第九章 模板中的名称 C++是一种上下文相关的语言:也就是说我们不能脱离他的上下文构造。 1.1 名称的分类 l 受限名称,如果前面有域解析运算符::,或者成员访问运算符(.或->),我们就称该名称为受限名称,比如this->count; l 如果一个名称依赖于一个模板参数,我们就称他为依赖名称。比如 std::vector::iter... 阅读全文
posted @ 2008-12-03 21:22 拿走不谢 阅读(451) 评论(0) 推荐(0) 编辑