2017-08-14 53 views
0

在这种postset_intersection使用std::inserter如下:的std ::插入替换C++ 17

std::set_intersection(
    netSet.begin(), netSet.end(), 
    portSet.begin(), portSet.end(), 
    std::inserter(result, result.end()) 
); 

然而,std::inserter不再与C++17所以如何把这个代码被改写?

编辑:正如很多人指出的,std :: inserter在C++ 17中仍然可用。不知何故,我最终读了如何std :: iterator已被弃用,没有意识到它不是指std :: inserter。我的问题是通过在我的代码中特别包含<iterator>标题解决的。

+4

你从哪里看到'std :: inserter'将不可用?我不相信它被删除,甚至不赞成。 – aschepler

+1

[它不被弃用或删除...](http://www.cplusplus.com/reference/iterator/inserter/) –

+2

也许你正在考虑['std :: iterator'](http:// en。 cppreference.com/w/cpp/iterator/iterator),它旨在帮助提供创建自己的迭代器时所需的'typedef',但得出的结论并不是非常有用,因此不推荐使用? – BoBTFish

回答