【发布时间】:2011-08-16 02:35:20
【问题描述】:
在 C++ 中是否有更漂亮/更简洁的方式来使用迭代器?从我看到的教程中,我要么在任何地方设置 typedef(对于很多一次性 for 循环来说,这样做很乏味):
typedef std::vector<std:pair<int, int> >::iterator BlahIterator;
或有冗长的寻找循环,如:
for (std::vector<std:pair<int, int> >::iterator it = ... ) ...
有没有更好的办法?
【问题讨论】:
-
是的,使用 C++11 并说
auto! -
如果可以完全避免循环语法,使用 STL 算法也有帮助。
-
另一个想法是
typedef你的容器。这使得这样的迭代器声明不那么难看并且更易于维护。 drdobbs.com/184401853
标签: c++ iterator design-patterns syntactic-sugar