항목 5: C++가 은근슬쩍 만들어 호출해 버리는 함수들에 촉각을 세우자

2022. 6. 23. 21:51·STUDY/Effective C++

컴파일러는 우리를 대신해서 기본생성자, 복사생성장, 복사 대입 연산자, 소멸자 등 기본형 함수를 만들어낸다.

 

하지만 의 경우에는

std::string newDog("Persephone");
std::string oldDog("Satch");

NameObject<int> p(newDog, 2);
NameObject<int> s(oldDog, 36);

p=s;

 

참조자 p는 원래 자신이 참조하고 있는것과 다른 객체를 참조할 수 없다. 그렇다고 값 자체가 바뀌는것은 대입연산에 직접관여하지 않는 객체(string에 대한 포인터나 참조자를 품는 다른 객체들)까지 영향을 받게된다.

 

그렇게 된다면 컴파일 거부가 뜰 수 있다.

이럴 경우를 대비해서 복사 대입 연산자의 경우에는 직접 정의를 해야한다.

'STUDY > Effective C++' 카테고리의 다른 글

항목 7: 다형성을 가진 기본 클래스에서는 소멸자를 반드시 가상 소멸자로 선언하자  (0) 2022.06.25
항목 6: 컴파일러가 만들어낸 함수가 필요 없으면 확실히 이들의 사용을 금해버리자  (0) 2022.06.23
항목 4: 객체를 사용하기 전에 반드시 그 객체를 초기화하자  (0) 2022.06.23
항목 3: 낌새만 보이면 const를 들이대 보자!  (0) 2022.06.18
항목2: #define을 쓰려거든 const, enum, inline을 떠올리자  (0) 2022.06.18
'STUDY/Effective C++' 카테고리의 다른 글
  • 항목 7: 다형성을 가진 기본 클래스에서는 소멸자를 반드시 가상 소멸자로 선언하자
  • 항목 6: 컴파일러가 만들어낸 함수가 필요 없으면 확실히 이들의 사용을 금해버리자
  • 항목 4: 객체를 사용하기 전에 반드시 그 객체를 초기화하자
  • 항목 3: 낌새만 보이면 const를 들이대 보자!
wise_
wise_
  • wise_
    WHY'S BlOG
    wise_
  • 전체
    오늘
    어제
    • 분류 전체보기 (63)
      • PROJECT (19)
        • 젯슨나노 프로젝트 (0)
        • 유니티 (9)
      • STUDY (37)
        • 코딩문제 (13)
        • 알고리즘 (0)
        • Effective C++ (14)
        • 유니티 (8)
        • 언리얼 (2)
      • ERROR (7)
        • 오류덩어리들 (7)
      • REVIEW (0)
      • LIFE (0)
        • 작고 소중한 내 일상 (0)
        • 작고 귀여운 내 취미 (0)
  • 블로그 메뉴

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

  • 공지사항

  • 인기 글

  • 태그

    1인개발
    unity
    wisen
    유니티
    게임개발
    언리얼
    힐링게임
    알고리즘
    여우는오늘도친구를구한다
    error
    C++
    null
    스마일게이트
    힐링
    퍼즐게임
    개발
    TheFoxSeeksFriend
    윈터데브캠프
    ==
    게임
    코딩
    플로이드와샬
    백준
    c#
    귀여운
    인디게임
    깊이우선탐색
    개발일지
    모바일게임
    와이즌
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
wise_
항목 5: C++가 은근슬쩍 만들어 호출해 버리는 함수들에 촉각을 세우자
상단으로

티스토리툴바

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.