Tôi đoán đây là một câu hỏi đơn giản. Tôi cần làm điều gì đó như sau:
std::set<int> s1, s2;
s1 = getAnExcitingSet();
std::transform(s1.begin(), s1.end(), std::back_inserter(s2), ExcitingUnaryFunctor());
Tất nhiên, std::back_inserter
không hoạt động vì không có push_back
.
std::inserter
cũng cần một trình lặp? Tôi chưa sử dụng std::inserter
nên tôi không chắc phải làm gì.
Có ai có ý tưởng gì không?
Tất nhiên, tùy chọn khác của tôi là sử dụng vector cho
s2
, và sau đó chỉ cần sắp xếp nó sau. Có lẽ điều đó tốt hơn?
inserter(vec, vec.end())
hoạt động cho vectơ, tại sao mọi người lại sử dụng back_inserter ngay từ đầu?