2012-03-19 88 views
0

我想知道是否有人知道Qt中的一个库方法或函数,它会告诉您何时触及了某个foreach中的最后一个对象。我如何知道我在某个foreach中的最后一个对象,在Qt

在下面,我滚串的名单上,我做了一个虚构的方法,以下称为“isLast会()”:

foreach(QString a_string, string_list) 
{ 
    if (a_string.isLast()) // does something like this exist? 
    { 
    ... 
    } 
} 

有谁知道,如果像什么“isLast会()”存在?

感谢, 韦斯

+0

可能的[ForEach中的最后一个元素]的副本(http://stackoverflow.com/questions/9729467/last-element-in-foreach) – 2012-03-19 15:47:56

+1

如果您对列表的最后一项感兴趣,foreach循环可能不会做正确的做法......你究竟想要做什么? – AJG85 2012-03-19 15:52:39

+0

我想知道它是否在列表中滚动并且位于最后一个列表中。我想知道是否有一个Qt库方法可以告诉我这一点。请阅读问题家伙。 – Wes 2012-03-19 15:54:34

回答

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) { 
     ... 
    } 
} 
+0

是的,我在想这是我可能要做的。我只是希望也许有些Qt Guru知道一些古老的尘土飞扬的旧信服方法。请欣赏帮助。 – Wes 2012-03-19 16:01:55

2

如果string_list琴弦都具有唯一的值,你可以这样做:

foreach(QString a_string, string_list) { 
    if(a_string == string_list.last()){ 
     // it's the last string 
    } 

    ... 
} 

否则,你将不得不使用一些@ascentury建议的那种计数器。