언어/C++

4. 복사 생성자 & 임시객체

에린_1 2023. 1. 17. 20:55
728x90
  • 복사 생성자
    • 객체의 복사본을 생성할때 호출되는 생성자
    • 복사될 원본에 const를 붙여서 원본이 손상되는 일 방지
  • 깊은 복사 , 얕은 복사
    • 깊은 복사 - 복사에 의해 두개의 값 생성
    • 얕은 복사 - 대상의 값은 하나 접근 포인터만 2개
    • 얕은 복사의 경우 이미 삭제된 메모리를 한번 더 삭제하려 하면 오류 발생
  • 대입 연산자
    • 단순 대입 → 얕은 복사 실행
    • 대입 연산자 다중정의로 깊은 복사 수행하도록 작성
  • 변환 생성자
    • explicit 예약어로 차단 가능
  • 이름없는 임시 객체
    • 객체를 return 하는 경우 임시 객체가 복사생성자로 생겼다 사라짐
  • r-value 참조
    • 연산에 따라 생성된 임시객체
    • 기본 자료형 말고, 클래스에 적용될 때 필요
  • 이동 시맨틱
    • 이동 생성자 + 이동 대입 연산자
728x90

'언어 > C++' 카테고리의 다른 글

6. 클래스의 완성  (0) 2023.01.19
5. 연산자 다중정의  (0) 2023.01.17
3. 클래스  (0) 2023.01.16
2. C++ 함수와 네임스페이스  (0) 2023.01.16
1. C와 C++ 차이  (2) 2023.01.16