【发布时间】:2013-10-28 03:03:20
【问题描述】:
我有一个模板类,它接收两种模板类型 T,如下所示:
Foo( T arg1,T arg2)
{
}
这个类中有一个函数使用T作为迭代器。这个函数对整数类型的迭代器工作得很好,但是对于std::string类型的迭代器应该以不同的方式实现,
我应该:
首先为整型启用第一个功能
第二个专门针对 std::string 类型的迭代器的函数
我该怎么做?!
【问题讨论】:
-
不可能。容器的迭代器类型允许像普通指针一样简单,所以不一定能区分
std::string和std::vector<char>的迭代器。 -
为什么你认为你需要专门针对字符串迭代器?我们通常专门针对迭代器类别(前向、双向、随机等)编写代码。
标签: c++ templates c++11 typetraits