我正在编写一个递归函数,它接受一个基类型的可迭代的迭代。签名类似于<template typename RandomAccessIterator> void recursive_function(RandomAccessIterator rai);
我的问题是,如果一个中间可迭代是一个向量,我将需要一些代码,如recursive_function((*rai).begin())
,而如果一个中间可迭代是一个数组,我会使用{{1 }}
有没有办法让这两件事情相互兼容?
答案 0 :(得分:2)
您想要recursive_function(std::begin(*rai))
。