我有一段这样的代码:
template<class Iter>
void printRange(Iter begin, Iter last) {
for (Iter i = begin; i != last; i++) {
std::cout << *i << ", ";
}
outstd::cout << *last << ", ";
}
我的问题是:我怎样才能优雅地打印出最后一个元素?在循环之后单独计算最后一个元素似乎不是一个好的和正确的解决方案,......有更好的方法吗?请注意,我也不能使用 <= 运算符或 boost 或任何 stl 特定功能。