ฉันเดาว่านี่เป็นคำถามง่ายๆ ฉันต้องทำสิ่งนี้:
std::set<int> s1, s2;
s1 = getAnExcitingSet();
std::transform(s1.begin(), s1.end(), std::back_inserter(s2), ExcitingUnaryFunctor());
แน่นอนไม่ทำงานเนื่องจากไม่มี
std::back_inserter
ยังต้องการตัววนซ้ำ? ฉันไม่ได้ใช้ดังนั้นฉันไม่แน่ใจว่าจะทำอย่างไรpush_back
std::inserter
std::inserter
ใครมีความคิด?
แน่นอนตัวเลือกอื่นของฉันคือใช้เวกเตอร์สำหรับ
s2
แล้วเรียงลำดับในภายหลัง อาจจะดีกว่านี้?
inserter(vec, vec.end())
ใช้กับเวกเตอร์ได้เช่นกันทำไมใคร ๆ ถึงใช้ back_inserter ตั้งแต่แรก?