模版特化
来源:互联网 发布:php如何建站 编辑:程序博客网 时间:2024/05/08 10:52
最近在看STL源代码时候发现很多东西值得学习, 需要不断消化, 应用在平时项目中, 一个简单的模版萃取方法, 在STL里面应用也很广.
#include <iostream>
using namespace std;
template <class T>
struct Traits
{
typedef T type_name;
};
template <class T> struct Traits<T *>
{
typedef T type_name;
};
template <class T> struct Traits<const T *>
{
typedef T type_name;
};
template <class T>
class Iterator
{
public:
typedef typename Traits<T>::type_name type_name;
Iterator(type_name * pointor) : m_pointor(pointor)
{
}
type_name & operator* () const
{
return *m_pointor;
}
private:
type_name *m_pointor;
};
template <class T>
typename T::type_name testFunc(T itr)
{
return *itr;
}
int main(int argc __attribute__((unused)), char *argv[] __attribute__((unused)))
{
Iterator<const int *> itr(new int(10));
cout << testFunc(itr) << endl;
Iterator<int * > itr2(new int(11));
cout << testFunc(itr2) << endl;
}
- 模版特化 偏特化
- 模版特化
- 模版特化
- 类模版的特化
- c++模版特化
- C++类模版特化
- C++ 类模版 特化
- 模版特化一个错误
- C++模版的特化
- C++模版特化
- 模版的偏特化
- 模版的特化与偏特化
- 模版的特化与偏特化
- 模版的特化与偏特化
- 模版的特化与偏特化
- 模版的特化与偏特化
- C++ 模版的特化与偏特化
- 模版的特化与偏特化
- KY 应该做到的16件事
- Déjà vu
- C++的类与C#的类的区别
- 在Android 2.3状态栏中增加menu,home和back快捷键的方法
- 对称加密算法-PBE算法
- 模版特化
- 当memset遇到函数参数中的指针时
- 酷壳陈皓:如何学好C++语言(转)
- C# 中的委托和事件
- 未来的学习计划
- opencms上传文件
- 内存分配基础知识
- 学习asp.net比较完整的流程
- ASP.NET MVC 入门系列教程