模板
kanguolaikanguolaik
2013.08.07 今天是个好日子
展开
-
Linux C/C++ 模板:函数模板
一、代码#include #include using namespace std;//函数模板template T min(T i, T j, T k){ if (i<j && i<k) return i; if (j<i && j<k) return j; re原创 2015-04-10 23:55:05 · 1508 阅读 · 0 评论 -
Linux C/C++ 模板:用template消除歧义
一、代码#include using namespace std;//使用template消除歧义class Array{public: template class InArray { public: typedef T ElemT; };};template原创 2015-04-11 00:55:47 · 1239 阅读 · 0 评论 -
Linux C/C++ 模板:用typename消除歧义
一、代码 也是typename和class的区别。#include using namespace std;class Array{public: typedef int ElemT;};template void output(T& arr){ // //T::ElemT num; type原创 2015-04-11 00:52:15 · 768 阅读 · 0 评论 -
Linux C/C++ 模板:类模板成员特化
一、代码 不需要完全特化整个类,只特化相关函数即可。#include #include #include #include using namespace std;//主模板template class Heap{public: void push(const T& val); T pop(); bool e原创 2015-04-11 00:31:47 · 1296 阅读 · 0 评论 -
Linux C/C++ 模板:嵌入的类型信息
一、代码#include using namespace std;//嵌入的类型信息template class Array{public: Array(T num) : m_num(num) { } T get_num() { return m_num; } typedef T Elem; //元素的类型 typ原创 2015-04-11 01:23:25 · 660 阅读 · 0 评论 -
Linux C/C++ 模板:针对类型信息的特化
一、代码#include using namespace std;//针对类型信息的特化//template class IsInt{public: enum { result = false };};//template <>class IsInt{public: enum { result = true };};int原创 2015-04-11 00:51:44 · 601 阅读 · 0 评论 -
Linux C/C++ 模板:成员模板
一、代码 成员模板:一个自身是模板的成员。#include #include using namespace std;//成员模板template class Array{public: template void output(T thistype, T1 othertype);};//成员模板template t原创 2015-04-11 00:42:16 · 642 阅读 · 0 评论 -
Linux C/C++ 模板:主模板、完全特化、局部特化
一、代码#include #include #include #include using namespace std;//主模板template class Heap{public: void push(const T& val); T pop(); bool empty() const { return m_vec.emp原创 2015-04-11 00:26:10 · 968 阅读 · 0 评论 -
Linux C/C++ 模板:主模板、完全特化
一、代码#include #include #include #include using namespace std;//主模板template class Heap{public: void push(const T& val); T pop(); bool empty() const { return m_vec.emp原创 2015-04-11 00:19:57 · 739 阅读 · 0 评论 -
Linux C/C++ 模板:模板术语 模板参数/模板实参/模板名字/模板ID/特化/实例化
一、模板参数/模板实参1.1 模板参数 template parameter 用于模板的声明中。1.2 模板实参 template argument 用于模板的特化中。二、模板名字/模板ID2.1 模板名字 template-name 是一个简单的标识符。2.2 模板ID template-id 附带有模板原创 2015-04-11 00:11:55 · 952 阅读 · 0 评论 -
Linux C/C++ 模板:类模板(主模板)
一、代码#include #include #include #include using namespace std;//类模板、主模板template class Heap{public: void push(const T& val); T pop(); bool empty() const { return m_vec原创 2015-04-11 00:01:50 · 1085 阅读 · 0 评论 -
Linux C/C++ 模板:模板安全
一、非模板安全的代码#include using namespace std;template class wrapper{public: wrapper() { } T get() { return m_value; } //part 2 void set(T const &value) { m_value = value; }原创 2015-04-14 22:00:47 · 578 阅读 · 0 评论