6장. 복사 생성자와 임시 객체

2025. 2. 26. 16:30·SW개발/C++
반응형

복사 생성자

복사 생성자는 기존 객체를 복사하여 새로운 객체를 생성할 때 호출됨.

class MyClass {
public:
    MyClass(const MyClass &obj) {
        cout << "복사 생성자 호출" << endl;
    }
};

임시 객체와 보이지 않는 복사 생성

함수 반환 시 반환된 객체는 임시 객체로 간주되며, 보이지 않는 복사 생성이 일어날 수 있음.

Shallow copy, Deep copy

Shallow copy는 객체 내부의 포인터만 복사하는 반면, Deep copy는 포인터가 가리키는 대상까지 새로 복사하는 방식임.

class MyClass {
private:
    int* data;
public:
    MyClass(int val) { data = new int(val); }
    MyClass(const MyClass &obj) {
        data = new int(*obj.data); // Deep copy
    }
};

묵시적 변환 및 허용되는 변환

C++에서는 변환 생성자를 정의하여 한 타입에서 다른 타입으로 변환될 수 있음.

class MyClass {
public:
    MyClass(int val) {}
};

r-value 참조

r-value 참조는 임시 객체를 참조할 수 있도록 하는 기능이며, 이동 시맨틱을 지원하기 위한 필수 요소임.

int &&rdata = 10 + 5;

이동 시맨틱

이동 시맨틱을 활용하면 불필요한 객체 복사를 줄일 수 있으며, 성능 향상에 기여함.

class MyClass {
public:
    MyClass(MyClass &&obj) {
        cout << "이동 생성자 호출" << endl;
    }
};
반응형
저작자표시 비영리 변경금지 (새창열림)

'SW개발 > C++' 카테고리의 다른 글

7장. 연산자 다중 정의  (0) 2025.03.05
L-value와 R-value  (0) 2025.02.28
5장. 클래스  (0) 2025.02.26
4장. 함수와 네임스페이스  (0) 2025.02.26
3장. C++의 주요 기본 개념  (0) 2025.02.11
'SW개발/C++' 카테고리의 다른 글
  • 7장. 연산자 다중 정의
  • L-value와 R-value
  • 5장. 클래스
  • 4장. 함수와 네임스페이스
코코도롱
코코도롱
    반응형
  • 코코도롱
    도롱이의 전자공학소
    코코도롱
  • 전체
    오늘
    어제
    • 분류 전체보기 (60)
      • AI (16)
        • 데이터 분석과 모델 학습 (4)
        • 모델별 정리 (7)
        • (PJT)음성 화자 분류 (4)
      • SW개발 (38)
        • C++ (9)
        • 면접을 위한 CS 전공지식 노트 (24)
        • Django+Vue.js (0)
        • 이런저런 개발이야기 (1)
        • 갑자기 C코테를 봐야할때 (2)
        • RPI5 프로젝트 (1)
        • 트러블슈팅 (1)
      • ESG (2)
        • 내가 쓰는 Assay (1)
        • 뉴스 스크랩 (1)
      • 반도체 (4)
        • 반도체 (3)
        • 슬기로운 학부생활 (1)
        • 회로 (0)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    MySQL
    운영체제
    반도체 공학
    ESG
    요약본
    ios7계층
    os구조
    입출력관리
    홉바이홉
    면접을 위한 CS 전공지식 노트
    데이터분석 #데이터전처리 #결측치 #머신러닝 #딥러닝 #Pandas #DataFrame
    word 수식
    공백포함입력받기
    파일입출력 #DataFrame불러오기
    c io
    메시지큐
    LAN
    데이터분석 #머신러닝 #딥러닝 #데이터사이언스 #알고리즘 #데이터전처리
    데이터전처리 #데이터분석 #딥러닝 #머신러닝 #Pandas #Numpy #Python
    반도체 물성
    페이징 기법
    전공 지식
    보고서 수식
    면접을 위한 cs전공지식 노트
    멀티프로세스
    홉바이홉통신
    c언어 입출력
    CS지식
    반도체 소자 공학
    정리본
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
코코도롱
6장. 복사 생성자와 임시 객체
상단으로

티스토리툴바