Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> C++

ความแตกต่างระหว่างตัวสร้างการคัดลอกและตัวดำเนินการมอบหมายใน C ++


ในโพสต์นี้ เราจะเข้าใจความแตกต่างระหว่างตัวสร้างการคัดลอกและตัวดำเนินการมอบหมายงานใน C++

คัดลอกตัวสร้าง

  • มันเป็นตัวสร้างที่โอเวอร์โหลด

  • มันเริ่มต้นวัตถุใหม่ด้วยข้อมูล/ค่าวัตถุที่มีอยู่แล้ว

  • ใช้เมื่อมีการสร้างวัตถุใหม่โดยใช้วัตถุที่มีอยู่

  • วัตถุทั้งสองนี้จะถูกเก็บไว้ในตำแหน่งหน่วยความจำแยกกัน

  • หากไม่มีการกำหนดตัวสร้างการคัดลอกภายในคลาส คอมไพเลอร์จะมีตัวสร้างตัวมันเอง

ผู้ดำเนินการมอบหมาย

  • มันคือโอเปอเรเตอร์

  • โดยกำหนดค่าของวัตถุหนึ่งให้กับวัตถุอื่น โดยที่วัตถุทั้งสองนี้จะมีอยู่แล้ว

  • ใช้เมื่อจำเป็นต้องกำหนดวัตถุที่มีอยู่ให้กับวัตถุใหม่

  • มีการใช้ตำแหน่งหน่วยความจำเดียวในการจัดเก็บวัตถุนี้

  • แต่มีตัวแปรอ้างอิงหลายตัวที่ใช้เพื่อชี้ไปยังตำแหน่งของวัตถุนี้

  • หากโอเปอเรเตอร์นี้ไม่ได้โอเวอร์โหลด สำเนาระดับบิตจะถูกสร้างขึ้น