2017-08-14 46 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

回答