我只是最近才發現,Visual C++ 2008(也許還有更早的版本?)支持stl lists et al上的for each
語法來促進迭代。 例如:Visual c + +「每個」可移植性
list<Object> myList;
for each (Object o in myList)
{
o.foo();
}
我很高興地發現它,但我很擔心可移植性可怕的一天,當有人決定我需要能夠編譯我的代碼中說,海灣合作委員會或其他一些編譯器。這種語法是否得到廣泛支持,我可以使用它,而不必擔心可移植性問題?
注意:對於每個(a中的b),即使在VS 2005/2008中,似乎也只是CLR - 只有在針對.NET時,才能在本機代碼中使用它,從而使每個「甚至不太便攜」。 否則我認爲你的答案非常好。 – Suma 2008-10-13 14:23:30
另外請注意,如果你使用VS2010,你有lambda和std :: for_each()突然變得容易閱讀。 – Luis 2013-10-18 21:05:40