我有一个迭代 vector 。 vector 的最后一个元素是特例,我想单独测试一下。例如,我可能会这样做:
for (iterator = vector.begin(); iterator != vector.end(); ++iterator) {
if ((iterator + 1) == (vector.end())) {
...
} else {
...
}
}
我想用 BOOST_FOREACH
宏替换迭代器。是否可以对最终元素进行类似的测试?
最佳答案
if(!vec.empty())
{
BOOST_FOREACH(int e, boost::make_iterator_range(vec.begin(), vec.end()-1))
{
// Handle each element but the last
}
// Handle last element here
}
关于c++ - 使用 BOOST_FOREACH 时如何测试 vector 中的最后一个元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5959946/