본문 바로가기
개발/C++

C++ 개념 정리 9일차 포스팅

by Eunduck 2022. 5. 21.
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 ) {

// 예외 처리

}

 

네이버 블로그 리뉴얼입니다.

(https://blog.naver.com/unsuk1/221442343940)

 

'개발 > 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

댓글