什么是遍历所有对性病容器类元件的最佳途径std::list,std::set,std::vector,等?
基本上做相当于这个,但与迭代器:
for (int i = 0; i < A.size()-1; i++)
for(int j = i+1; j < A.size(); j++)
cout << A[i] << A[j] << endl;
Run Code Online (Sandbox Code Playgroud)
MSa*_*ers 14
最简单的方法就是直接重写代码:
for (auto i = foo.begin(); i != foo.end(); ++i) {
for (auto j = i; ++j != foo.end(); /**/) {
std::cout << *i << *j << std::endl;
}
}
Run Code Online (Sandbox Code Playgroud)
替换auto为C++ 98/03的const_iterator.或者把它放在自己的功能中:
template<typename It>
void for_each_pair(It begin, It end) {
for (It i = begin; i != end; ++i) {
for (It j = i; ++j != end; /**/) {
std::cout << *i << *j << std::endl;
}
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4665 次 |
| 最近记录: |