이 포스트에서는 C++에서 복사 생성자와 할당 연산자의 차이점을 이해할 것입니다.
복사 생성자
-
오버로드된 생성자입니다.
-
이미 존재하는 객체 데이터/값으로 새 객체를 초기화합니다.
-
기존 객체의 도움으로 새로운 객체를 생성할 때 사용합니다.
-
이 두 개체는 모두 별도의 메모리 위치에 저장됩니다.
-
클래스 내부에 복사 생성자가 정의되어 있지 않으면 컴파일러가 자체적으로 생성자를 제공합니다.
할당 연산자
-
운영자입니다.
-
두 개체가 이미 존재하는 다른 개체에 한 개체의 값을 할당합니다.
-
기존 개체를 새 개체에 할당해야 할 때 사용합니다.
-
이 개체를 저장하기 위해 단일 메모리 위치가 사용되었습니다.
-
그러나 이 개체의 위치를 가리키는 데 사용되는 참조 변수가 여러 개 있습니다.
-
이 연산자가 오버로드되지 않으면 비트 복사본이 생성됩니다.