ฉันจะเรียงเวกเตอร์ของคู่ตามองค์ประกอบที่สองของคู่ได้อย่างไร
ถ้าฉันมีเวกเตอร์คู่: std::vector<std::pair<int, int> > vec; มีวิธีง่ายๆในการจัดเรียงรายการตามลำดับที่เพิ่มขึ้นตามองค์ประกอบที่สองของคู่หรือไม่? ฉันรู้ว่าฉันสามารถเขียนอ็อบเจกต์ฟังก์ชั่นเล็ก ๆ น้อย ๆ ที่จะทำงานได้ แต่มีวิธีใช้ชิ้นส่วนที่มีอยู่ของSTLและstd::lessทำงานโดยตรงหรือไม่ แก้ไข: ฉันเข้าใจว่าฉันสามารถเขียนฟังก์ชันหรือคลาสแยกกันเพื่อส่งต่อไปยังอาร์กิวเมนต์ที่สามเพื่อจัดเรียง คำถามคือฉันสามารถสร้างมันขึ้นมาจากสิ่งของมาตรฐานได้หรือไม่ ฉันมีบางอย่างที่ดูเหมือน: std::sort(vec.begin(), vec.end(), std::something_magic<int, int, std::less>());