我想知道是否有人知道Qt中的库方法或函数会告诉你何时击中了foreach中的最后一个对象。
下面我在一个字符串列表上滚动,我在下面编写了一个名为“isLast()”的虚构方法:
foreach( QString a_string, string_list )
{
if ( a_string.isLast() ) // does something like this exist?
{
...
}
}
有没有人知道是否存在类似“isLast()”的内容?
谢谢, 韦斯
答案 0 :(得分:2)
我没有在QT周围看到isLast()
式的功能。你最好的选择可能是混合一点老派的反逻辑:
int str_count = 0;
int str_list_last_elem = string_list.size()-1;
foreach(QString a_string, string_list) {
str_count++;
if (str_count == str_list_last_elem) {
...
}
}
答案 1 :(得分:2)
如果string_list
中的字符串都具有唯一值,则可以执行以下操作:
foreach(QString a_string, string_list) {
if(a_string == string_list.last()){
// it's the last string
}
...
}
否则你将不得不使用@ascentury建议的某种计数器。