[C++11]decltype在泛型编程中的使用举例
Posted Wecccccccc
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[C++11]decltype在泛型编程中的使用举例相关的知识,希望对你有一定的参考价值。
关于decltype的应用多出现在泛型编程中,比如我们编写一个类模板,在里面添加遍历容器的函数,操作如下:
代码如下:
#include <iostream>
#include <list>
using namespace std;
template<typename T>
class Container
{
public:
void printElem(T & t)
{
for (m_it = t.begin(); m_it != t.end(); m_it++)
{
cout << "value = " << *m_it << endl;
}
}
private:
//T::iterator m_it;//error 定义变量要具体类型,这些写不行
decltype(T().begin()) m_it;
};
int main()
{
list<int>ls{ 1,2,3,4,5,6 };
Container<list<int>>c;
c.printElem(ls);
return 0;
}
测试结果:
以上是关于[C++11]decltype在泛型编程中的使用举例的主要内容,如果未能解决你的问题,请参考以下文章