→ bibo9901: *( L.begin() + 1 ) 12/09 22:08
→ jaid: 你想++i不就是在加iterator嗎 index直接加上去就好了 12/09 23:28
→ Caesar08: 你既然知道iterator,那就應該知道list的iterator是 12/09 23:55
→ Caesar08: bidirectional iterator,那就應該知道他只能從begin() 12/09 23:56
→ Caesar08: 往後面取一個,才有辦法拿到第二個元素才對 12/09 23:56
iterator是去查看元素,如果我今天要把他儲存下來呢?
for(i=L.begin(); i != L.end(); ++i)
{
cout << "第" << count << "個 "<< *i << " "<< endl;
sum = *i;
count++;
}
我用這樣子為什麼不行?
→ stupid0319: 可以的話,自己的容器自己寫會比較好操作吧 12/10 00:41
推 kwpn: 用iterator就做的到的事,幹嘛浪費時間自己寫容器 12/10 00:54
→ hardware: 1F ,你說的方法好像不行耶 12/10 09:34
※ 編輯: hardware (140.117.89.77), 12/10/2015 09:38:10
→ remizu: 看你寫sum應該是想要算總和吧 "="是指派給sum 不是加上去 12/10 09:46
抱歉,寫錯了應該是
sum = sum + *i;
謝謝~
推 aiwhat: 查了一下 std::advance 可能是你要的 12/10 10:09
※ 編輯: hardware (140.117.89.77), 12/10/2015 10:20:23
→ hardware: 感謝樓上~ 12/10 10:20
→ Caesar08: 個人認為next比advance還好用,不過它屬於C++11的部分 12/10 12:24