所以我现在正在尝试更多地了解STL算法,并尝试在线搜索是否可以使用STL算法创建嵌套for循环,但只是没有得到我想要的答案。基本上,在OrderManager中,我有一个CustomerOrders类的向量,它包含一个订单数组。在ItemManager内部,它有一个当前可用的类Items的向量。我在下面的代码中尝试实现的是输出客户要求的任何项目"不可用"。正如您所看到的,我已经创建了一个嵌套for循环,但最终,我想通过STL算法实现这一点,如果可能的话。
如果有什么事情有点混乱,或者我错误地格式化了这个帖子,请告诉我。
{{1}}
答案 0 :(得分:0)
可以使用std :: for_each和lambdas完成,但这对于此操作来说似乎有点愚蠢,
std::for_each(orders.cbegin(), orders.cend(), [&ostrm] (CustomerOrder const & order) {
std::vector<Item> const & noOrders = order.NoOrders();
std::for_each(noOrders.cbegin(), noOrders.cend(), [&ostrm] (Item const & item) { ostrm << item; });
});