bd1*_*bd1 6 c++ iterator design-patterns syntactic-sugar
在C++中使用迭代器是否有更漂亮/更简洁的方法?从我看过的教程中,我要么在任何地方都设置了typedef(这对于很多一次性for循环来说都很繁琐):
typedef std::vector<std:pair<int, int> >::iterator BlahIterator;
Run Code Online (Sandbox Code Playgroud)
或者有详细的寻找循环,如:
for (std::vector<std:pair<int, int> >::iterator it = ... ) ...
Run Code Online (Sandbox Code Playgroud)
有没有更好的办法?
在C++ 11中,您可以使用基于范围的for循环与auto关键字结合使用:
for (auto& it : v) ...
Run Code Online (Sandbox Code Playgroud)
typedef pair<int, int> tElem;
BOOST_FOREACH( tElem e, aVector )
{
cout << e.first << " " << e.second << '\n';
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2852 次 |
| 最近记录: |