【发布时间】:2012-03-19 23:57:21
【问题描述】:
我想知道是否有人知道 Qt 中的库方法或函数,它会告诉您何时点击了 foreach 中的最后一个对象。
下面我正在滚动一个字符串列表,并且我在下面编造了一个名为“isLast()”的虚构方法:
foreach( QString a_string, string_list )
{
if ( a_string.isLast() ) // does something like this exist?
{
...
}
}
有人知道是否存在类似“isLast()”的东西吗?
谢谢, 韦斯
【问题讨论】:
-
如果您对列表的最后一项感兴趣,则 foreach 循环可能不是正确的方法......您实际上想做什么?
-
我想知道它是否在列表中滚动并且在最后一个。我想知道是否有 Qt 库方法可以告诉我这一点。请阅读问题。
-
只需使用迭代器或索引即可。你问的是一个坏主意,因为从本质上讲,“foreach”意味着“我不关心订单”,而“last”意味着“当前是序列中的最后一个”。如果您使用对象的方法,它必须知道它是否是最后一个对象,这意味着它必须知道它在容器中。这就是为什么发明了迭代器。