您的位置:首页 > 编程语言 > C语言/C++

C++中advance的代码实现

2016-10-12 10:58 141 查看
template<typename IterT, typename DistT>
void advance(IterT& iter, DistT d)
{
if(typeid(typenamestd::iterator_traits<IterT>::iterator_category)
==typeid(std::random_access_iterator_tag))
{
iter += d; // use iterator arithmetic
} // for random access iters
else
{
if (d >= 0)
{ while (d--) ++iter; } // use iterative calls to
else
{ while (d++) --iter; } // ++ or -- for other
} // iterator categories
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  advance C++