[問題] Vector iterator的移動
開發平台(Platform): (Ex: VC++, GCC, Linux, ...)
VC2008
問題(Question):
int Sum=0;
vector<int> vec;
vector<int>::iterator iter;
iter = find(vec.begin(), vec.end(), 某值);
接下來就會有問題
Sum = count(iter+1, vec.end(), 某值);
我想要計算iter+1 到 vec.end()之間某值出現的個數,但會出現問題
若改為 Sum = count(iter, vec.end(), 某值); 則不會有問題
另外一種情形,假設
iter = vec.begin();
if(*iter+1 == 某值) 這裡也會有錯誤
{
Do some thing;
}
想在Release Mode下執行,但會出現這些問題
麻煩指點迷津了。
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.134.18.155
※ BearTsao:轉錄至看板 Programming 12/25 17:27
→
12/25 17:46, , 1F
12/25 17:46, 1F
→
12/25 17:47, , 2F
12/25 17:47, 2F
→
12/25 18:09, , 3F
12/25 18:09, 3F
推
12/25 20:11, , 4F
12/25 20:11, 4F
→
12/25 21:31, , 5F
12/25 21:31, 5F
→
12/25 21:39, , 6F
12/25 21:39, 6F
→
12/25 21:43, , 7F
12/25 21:43, 7F
→
12/25 21:45, , 8F
12/25 21:45, 8F
→
12/25 22:18, , 9F
12/25 22:18, 9F
討論串 (同標題文章)
以下文章回應了本文:
完整討論串 (本文為第 1 之 2 篇):