《C++Template》笔记
《C++Template中文版》读书笔记
csdn_cjc
这个作者很懒,什么都没留下…
展开
-
模板与继承
@[TOC]模板与继承 命名模板参数 命名模板参数主要利用了C++继承中的一个规则,子类重定义,会隐藏基类中定义: class DefaultPolicy1 { public: void print() { cout << "Policy 1" << endl; } }; class DefaultPolicy2 { public: void print() { cout << "Policy 2" << endl; } }; clas原创 2020-10-23 10:16:15 · 386 阅读 · 0 评论 -
trait和policy类
trait和policy类traitpolicy trait 先看下面代码: //accumtraits.h template <typename T> class AccumulationTraits; template <> class AccumulationTraits<char> { public: typedef int Acct; static Acct const zero = 0; }; template <> class Accum原创 2020-10-20 15:18:27 · 202 阅读 · 0 评论 -
模板源代码组织
模板源代码组织源代码组织包含模型显式实例化整合包含模型和显式实例化 源代码组织 非模板源代码组织:声明放在头文件中,具体定义放在源文件中。 对于非模板代码,一切正常运作,所有符号在整个程序中都是可见的。 但是,如果模板代码用这种方式组织,会出现链接器错误: // MyTest.h template <typename T> void MyPrint(T const&); // MyTest.cpp #include "MyTest.h" template <typename T原创 2020-10-15 14:55:14 · 87 阅读 · 0 评论 -
非类型模板参数
非类型模板参数非类型的类模板参数非类型的函数模板参数非类型模板参数的限制 模板参数并不局限于类型,普通值也可以作为模板参数。 非类型的类模板参数 template <typename T, int MAXSIZE> class Stack { private: T elems[MAXSIZE]; int numElems; public: bool full() const { return numElems == MAXSIZE; } }; 非类型的函数模板参数 templ原创 2020-10-14 16:34:12 · 386 阅读 · 0 评论 -
类模板
类模板类模板Stack例子类模板特化局部特化缺省模板参数 类模板Stack例子 ///////////////////////////////Stack<T>声明、定义//////////////////////////////////////// template <typename T> class Stack { private: vector<T> elems; public: void push(T const &); void pop();原创 2020-10-14 15:50:58 · 101 阅读 · 0 评论