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_inserterkhông hoạt động vì không có push_back.
std::insertercũng cần một trình lặp? Tôi chưa sử dụng std::inserternê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?