คำถามติดแท็ก std-swap

2
ทำไม std :: swap ที่ทำเครื่องหมายว่า constexpr ก่อน C ++ 20 ไม่
ใน C ++ 20 std::swapกลายเป็นconstexprฟังก์ชัน ฉันรู้ว่าห้องสมุดมาตรฐานล้าหลังภาษาในการทำเครื่องหมายสิ่งต่าง ๆconstexprแต่ในปี 2560 <algorithm>เป็นกลุ่มคนที่ค่อนข้างมากเหมือนกับสิ่งอื่น ๆ แต่ - std::swapไม่ใช่ ฉันจำได้ว่ามีข้อบกพร่องบางอย่างเกี่ยวกับภาษาแปลก ๆ ซึ่งป้องกันการทำเครื่องหมายนั้น แต่ฉันลืมรายละเอียด บางคนสามารถอธิบายสิ่งนี้อย่างกระชับและชัดเจน? แรงจูงใจ: จำเป็นต้องเข้าใจว่าเหตุใดจึงเป็นความคิดที่ไม่ดีที่จะทำเครื่องหมายstd::swap()ฟังก์ชันเหมือนconstexprในรหัส C ++ 11 / C ++ 14
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.