我想编写一个函数
my_func
,可以像这样被调用,但不关心v
是一个std::vector
,它可以是任何STL容器。有点像std::for_each
:std::vector<std::string> v = {...};
my_func(v.begin(), v.end());
但我无法理解这个函数的签名。
void my_func(??? i1, ??? i2)
{
std::for_each(i1, i2, ...); // dumb example implementation
}
我不太擅长模板编程,所以即使看了std::for_each
的函数声明也没有帮助。
这个实现是否容易,还是说使用模板变量会让它本质上变得混乱?