【发布时间】:2010-10-25 01:06:27
【问题描述】:
我用这样的原型编写了一些函数:
template <typename input_iterator>
int parse_integer(input_iterator &begin, input_iterator end);
这个想法是调用者将提供一系列字符,该函数会将字符解释为整数值并返回它,将 begin 留在最后使用的字符之后。例如:
std::string sample_text("123 foo bar");
std::string::const_iterator p(sample_text.begin());
std::string::const_iterator end(sample_text.end());
int i = parse_integer(p, end);
这将使i 设置为123,p“指向”foo 之前的空格。
我被告知(没有解释)通过引用传递迭代器是不好的形式。是不是形式不好?如果有,为什么?
【问题讨论】:
标签: c++ pass-by-reference iterator