C++ 개념 정리 포스팅
안녕하십니까. Eun🦆입니다.
제가 공부하며 정리해둔 내용이 있어 포스팅하고자 합니다.
배움의 출처는 ‘열혈 C++ 프로그래밍’입니다.
5일차
41. this 포인터 // 객체 자신을 가리키는 용도
// this 포인터는 그 주소값과 자료형이 정해져 있지 않은 포인터
this → num = 208; = (*this).num1 = 207;
→ 멤버 변수 num 포인터
42. Self-Reference의 반환
객체 자신을 참조할 수 있는 참조자
SelfRef & Adder ( int n ) {
num += n;
return *this; } // 객체 자신 반환
43. 복사 생성자
( int num = 20; // = int num ( 20 ))
SoSimple sim2 = sim1; // = SoSimple Sim2 ( sim1 );
44. 디폴트 복사 생성자
SoSimple ( const SoSimple © ) : num1 ( copy.num1 ), num2 ( copy.num2 ) { }
45. 변환에 의한 초기화 막기 explicit
Explicit SoSimple ( const SoSimple © ) : num1 ( copy.num1 ), num2 ( copy.num2 ) { }
// SoSimple sim2 = sim1; X (대입 연산자)
SoSimple sim2 ( sim1 );
46. 얕은 복사 : 디폴트 복사 생성자 : 멤버 대 멤버 복사
// 멤버 변수가 힙의 메모리 공간 참조하는 경우 문제
47. 깊은 복사 : 멤버뿐 아니라 포인터로 참조하는 대상까지 깊게 복사
Person ( const person & copy ) : age (copy.age)
{ name = new char [ strlen(copy.name)+1 ];
Strcpy(name, copy.name); }
48. 임시 객체는 다음 행에서 바로 소멸되나 참조자에 참조되는 임시 객체는 바로 소멸되지 않는다.
49 const 함수 // 이 객체의 데이터 변경을 허용하지 않겠다.
const 객체는 const 함수에서만 호출 가능하다.
50. friend 선언은 private 멤버의 접근 허용하는 선언
Friend class Girl; // Girl은 클래스의 이름, Girl 클래스 friend 선언
네이버 블로그 리뉴얼입니다.
'개발 > C++' 카테고리의 다른 글
C++ 개념 정리 7일차 포스팅 (0) | 2022.05.21 |
---|---|
C++ 개념 정리 6일차 포스팅 (0) | 2022.05.21 |
C++ 개념 정리 4일차 포스팅 (0) | 2022.05.21 |
C++ 개념 정리 3일차 포스팅 (0) | 2022.05.21 |
C++ 개념 정리 2일차 포스팅 (0) | 2022.05.21 |
댓글