用std / boost算法替换循环中的C ++

时间:2015-04-30 14:49:21

标签: c++

我有一个while循环,我想用std / boost算法替换(主要是为了我的学习,沿着Sean Parent' s no-raw-loops maxim)。

std::queue q;
while (! q.empty()) {
    auto front = q.front();
    q.pop();
    do_stuff_with_front();
    potentially_insert_more_into_q();
}

正如您所看到的,我有条件地将更多元素排入循环中;想想迷宫遍历。什么std / boost算法可能适合这个?

1 个答案:

答案 0 :(得分:7)

我想不出任何算法或替代方法会产生比你已经编写的while循环更清晰的代码。我记得所有标准算法都在固定范围内工作,因为你的代码添加了与标准算法接口不一致的元素。