2012-03-19 91 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建議的那種計數器。