Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> C++

Khác biệt giữa Copy Constructor và Assignment Operator trong C++

Trong bài viết này, chúng ta sẽ hiểu sự khác biệt giữa copy constructor và assignment operator trong C++.

Copy Constructor

    Là một constructor được nạp chồng.
  • Khởi tạo đối tượng mới với dữ liệu/giá trị của đối tượng đã tồn tại.
  • Sử dụng khi tạo đối tượng mới từ đối tượng hiện có.
  • Cả hai đối tượng lưu ở vị trí bộ nhớ riêng biệt.
  • Nếu không định nghĩa, trình biên dịch cung cấp mặc định.

Assignment Operator

  • Là một toán tử.
  • Gán giá trị của đối tượng này cho đối tượng khác, cả hai đã tồn tại.
  • Sử dụng khi cần gán đối tượng hiện có cho đối tượng mới.
  • Sử dụng một vị trí bộ nhớ cho đối tượng này.
  • Nhưng có nhiều biến tham chiếu trỏ đến vị trí này.
  • Nếu không nạp chồng, sẽ tạo bản sao bitwise (shallow copy).