ova*_*nes 21
在调查类似问题时遇到了这个问题.
即使问题很老,现在在C++ 11和boost 1.54的时候,使用Boost.Range库也很容易.它具有一个join功能,可以将两个范围连接成一个.在这里,您可能会产生性能损失,因为最低公共范围概念(即单通道范围或正向范围等)用作新范围的类别,并且在迭代期间可以检查迭代器是否需要跳转到新范围,但您的代码可以很容易地编写如下:
#include <boost/range/join.hpp>
#include <iostream>
#include <vector>
#include <deque>
int main()
{
std::deque<int> deq = {0,1,2,3,4};
std::vector<int> vec = {5,6,7,8,9};
for(auto i : boost::join(deq,vec))
std::cout << "i is: " << i << std::endl;
return 0;
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
9139 次 |
| 最近记录: |