+ -
当前位置:首页 → 问答吧 → 关于VS2008后支持的for each问题

关于VS2008后支持的for each问题

时间:2010-05-27

来源:互联网

VS2008后支持的for each相当方便,不过,我有一些疑问:
看到例子里面是这样写:
for each(TypeA AAA in BBB)
当BBB的成员是比较大的结构时,是不是应该写为
for each(TypeA &AAA in BBB)
才是呢?

还有,为什么TypeA强制为CONST的呢,我要修改成员值怎么办呢?

作者: znfz_znfd   发布时间: 2010-05-27

还是用for_each吧,别用for each

作者: akirya   发布时间: 2010-05-27

楼主用for_each,比for each好用

作者: soswaidao   发布时间: 2010-05-27

vc里也有foreach吗。不是C#里才有吗。看来我out了

作者: lzjdlsl   发布时间: 2010-05-27

STL中的新东西for_each

作者: VisualEleven   发布时间: 2010-05-27

问题是,for each 方便呀,你用for_each还要再写一个函数,虽然VS2010 的C++已经支持空函数了,可是还是希望越简单越好 for each 符合我的要求

如果for each不行的话,那么在VS2010下,它支持一个自动判断类型的关键字auto,我可以选择这样:
for(auto It = BBB.begin();It != BBB.end();It++)

这样也比较符合习惯

大家还有更简洁的办法么?

作者: znfz_znfd   发布时间: 2010-05-28

问题是,for each 方便呀,你用for_each还要再写一个函数,虽然VS2010 的C++已经支持空函数了,可是还是希望越简单越好 for each 符合我的要求

如果for each不行的话,那么在VS2010下,它支持一个自动判断类型的关键字auto,我可以选择这样:
for(auto It = BBB.begin();It != BBB.end();It++)

这样也比较符合习惯

大家还有更简洁的办法么?

作者: znfz_znfd   发布时间: 2010-05-28

const 是因为对于某些几何来说,改变值是会破坏几何内部结构的,iterator会失效 如 map 。如果确定要修改值,可以用const_cast。如vector 和 list。

作者: williamx   发布时间: 2011-11-30