1
我有一个while循环,我想用一个std/boost算法替代(主要是为了我的学习,沿着Sean Parent的no-raw-loops maxim的路线)。用std/boost算法替换C++ while循环
std::queue q;
while (! q.empty()) {
auto front = q.front();
q.pop();
do_stuff_with_front();
potentially_insert_more_into_q();
}
正如你所看到的,我有条件地在循环中排入更多的元素;认为迷宫遍历。什么std/boost算法可能适合这个?
+ Afaik,所有的算法都使用迭代器,它们在插入时失效。您需要重新初始化每个插入的迭代器。 OP可以尝试做一个这样的抽象。 – Carcigenicate