根本没有明确的循环:
#include <iostream>
#include <queue>
#include <vector>
#include <algorithm>
template <typename T>
class QueuePopper
{
public:
QueuePopper(std::queue<T> &q) : q(q) {}
T operator() (const T &) { T t = q.front(); q.pop(); return t; }
private:
std::queue<T> &q;
};
int main()
{
typedef std::string T;
std::queue<T> q;
...
std::vector<T> v(5);
std::transform(v.begin(), v.end(), v.begin(), QueuePopper<T>(q));
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3674 次 |
| 最近记录: |