作者NealCaffery (NealCaffery)
看板C_and_CPP
標題[問題] range for怎麼遍歷new產生的數組
時間Fri Nov 3 22:40:27 2017
想請問各位大大:
下面的程式碼第二行的迭代器要怎麼寫??
小弟弟我想的是用指針來當迭代器,但是報錯
寫指針不能找到合適的begin函數,那為什麼
數組可以當迭代器?
int *num=new int[];
for(auto x:*num)
{
..........
}
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 104.237.90.90
※ 文章網址: https://webptt.com/m.aspx?n=bbs/C_and_CPP/M.1509720030.A.039.html
1F:→ youchenliu: 好 vector 不用嗎 11/03 22:52
2F:→ NealCaffery: you大我單純想了解這東西^.^ 11/03 23:07
3F:→ jerryh001: (猜的) 做不到 因為陣列長度未知 11/03 23:43
4F:→ uranusjr: 樓上猜的沒錯, 因為指標沒有包含陣列長度, 無法遍歷 11/03 23:51
6F:→ uranusjr: Explanation 那邊第一條有寫 if the array has unknown 11/03 23:51
7F:→ uranusjr: size [...], the program is ill-formed 11/03 23:52
8F:→ uranusjr: 在 stack 的 array 知道自己的大小, 所以可以用 11/03 23:53
9F:推 CoNsTaR: 小弟弟我還是我小弟弟 11/04 06:55
10F:推 peterwu4: 要先學好和理解什麼是iterator,像矩陣是一個連續的記憶 11/04 08:46
11F:→ peterwu4: 體空間,編譯器可以得到頭、尾和長度才能實現range base 11/04 08:49
12F:→ peterwu4: for loop~ 11/04 08:49
13F:→ NealCaffery: 謝謝你們的回覆^_^我理解囉! 11/04 09:00