การมอบหมายประกอบด้วย 2 ขั้นตอน ฉีกสถานะเก่าของวัตถุและสร้างสถานะใหม่ให้กับวัตถุ ตัวทำลายจะใช้สำหรับขั้นตอนแรกและตัวสร้างการคัดลอกจะทำขั้นตอนที่สอง การดำเนินการทั้งสองอย่างตรงไปตรงมา แต่เมื่อโอเวอร์โหลดโอเปอเรเตอร์การมอบหมายงาน อาจเป็นเรื่องยากที่จะนำไปใช้ การคัดลอกและ swapidiom เป็นวิธีแก้ปัญหาเดีย