[問題] range for怎麼遍歷new產生的數組

作者: NealCaffery (NealCaffery)   2017-11-03 22:40:27
想請問各位大大:
下面的程式碼第二行的迭代器要怎麼寫??
小弟弟我想的是用指針來當迭代器,但是報錯
寫指針不能找到合適的begin函數,那為什麼
數組可以當迭代器?
int *num=new int[];
for(auto x:*num)
{
..........
}
作者: youchenliu (柚子味的豆花)   2017-11-03 22:52:00
好 vector 不用嗎
作者: NealCaffery (NealCaffery)   2017-11-03 23:07:00
you大我單純想了解這東西^.^
作者: jerryh001   2017-11-03 23:43:00
(猜的) 做不到 因為陣列長度未知
作者: uranusjr (←這人是超級笨蛋)   2017-11-03 23:51:00
樓上猜的沒錯, 因為指標沒有包含陣列長度, 無法遍歷http://en.cppreference.com/w/cpp/language/range-forExplanation 那邊第一條有寫 if the array has unknownsize [...], the program is ill-formed在 stack 的 array 知道自己的大小, 所以可以用
作者: CoNsTaR ((const *))   2017-11-04 06:55:00
小弟弟我還是我小弟弟
作者: peterwu4 (notd)   2017-11-04 08:46:00
要先學好和理解什麼是iterator,像矩陣是一個連續的記憶體空間,編譯器可以得到頭、尾和長度才能實現range basefor loop~
作者: NealCaffery (NealCaffery)   2017-11-04 09:00:00
謝謝你們的回覆^_^我理解囉!

Links booklink

Contact Us: admin [ a t ] ucptt.com