Copy-and-Swap Idiom ใน C++ การกำหนดค่า (assignment) ประกอบด้วย 2 ขั้นตอน: ทำลายสถานะเก่าของออบเจ็กต์ และสร้างสถานะใหม่ Destructor ใช้ขั้นตอนแรก Copy constructor ใช้ขั้นตอนที่สอง การ overload assignment operator อาจทำให้ยาก Copy-and-swap idiom เป็นวิธีแก้ Idiom นี้ใช้ copy-constructor สร้าง local c