C++ 개념 정리 포스팅
안녕하십니까. Eun🦆입니다.
제가 공부하며 정리해둔 내용이 있어 포스팅하고자 합니다.
금일이 마지막 포스팅입니다.
배움의 출처는 ‘열혈 C++ 프로그래밍’입니다.
9일차
81. * 오버로딩
cpy = pos * 3; // 가능
cpy = 3 * pos; // 불가능, 오버로딩 형태가 허용되지 않음
point operator * ( int times )
{ point pos ( xpos * times, ypos * times )
return pos; }
82. 교환 법칙
point operator * (int times, point & ref)
{ point pos ( ref.xpos * times, ref.ypos * times );
Return pos; }
→ 3*pos = pos*3
83. =오버로딩
대입 연산자의 경우 대입된 멤버의 주소 값이 소멸되어 메모리 누수 발생
연산 함수 내부 delect [ ]name;로 메모리 누수 방지
84. 유도 클래스의 대입 연산자 정의에서 명시적으로 기초 클래스의 대입 연산자 호출문을 삽입하지 않으면 기초 클래스의 대입 연산자는 호출되지 않아서, 기초 클래스의 멤버 변수는 멤버 대 멤버 복사 대상에서 제외된다.
85. 생성자의 몸체 부분에서 대입 연산을 통해 초기화를 진행하면 선언과 초기화를 각각 별도의 문장에서 진행하는 형태로 바이너리 코드가 생성된다.
86. 배열의 인덱스 연산자 오버로딩
arrObject[ 2 ];
= arrObject.operator[ ] ( 2 );
87. 포인터 연산자 오버로딩
→ 포인터가 가리키는 객체의 멤버에 접근
* 포인터가 가리키는 객체에 접근
88. 스마트 포인터
// 전문 개발자가 개발함. 라이브러리로 포함
// 객체 알아서 소멸, 포인터 *처럼 연산 가능
89. string 클래스
// str1 + str2 형식으로 문자열 합 가능
90. 템플릿 T
template <typename T>
T Add ( T num1, T num2 ) { return num1 + num2; }
91. 함수 템플릿 특수화
template <typename T>
T max( T a, T b )
{ return a > b? a : b; }
92. 클래스 템플릿
93. 예외처리
Try{
If( 예외 )
Throw expnl
} catch ( type expn ) {
// 예외 처리
}
네이버 블로그 리뉴얼입니다.
'개발 > C++' 카테고리의 다른 글
C++ 개념 정리 8일차 포스팅 (0) | 2022.05.21 |
---|---|
C++ 개념 정리 7일차 포스팅 (0) | 2022.05.21 |
C++ 개념 정리 6일차 포스팅 (0) | 2022.05.21 |
C++ 개념 정리 5일차 포스팅 (0) | 2022.05.21 |
C++ 개념 정리 4일차 포스팅 (0) | 2022.05.21 |
댓글