繁体   English   中英

在一组唯一元素上使用C ++迭代器

[英]Using C++ Iterator on a set of one only element

我正在使用迭代器处理几乎总是大于三个元素的一组元素,但是碰巧生成的集合只包含一个元素,在这种情况下为以下循环:

for(i = data_set.begin(); i != data_set.end(); i++)
{
//do something with the data
}

即使"data_set"不为空,也永远不会输入,因为data_set.begin()==data_set.end()我正在做一个测试来单独处理这种特殊情况,但是代码变得一团糟,不再干净。

应该怎样做才能正确处理呢?

谢谢,

자스민

如果集合仅包含1个元素,则: std::next( data_set.begin() ) == data_set.end() ,因为begin()迭代器指向容器的第一个元素,而end()指向该元素那是最后一个之后的下一个。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM