[问题] 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