소프트웨어학부/c++ 문법

c++ 4장

Mt.Hwang 2024. 5. 5. 15:24

 * 증가, 감소 연산자의 오버로딩
Point & operator++() {
  xpos += 1;
  ypos += 1;

  return * this;  // 나 자신을 리턴하는 것
}

 ++(++pos)의 경우
c 언어에서는 에러가 난다
++pos의 결과가 상수이므로
그러나 c++에서는 가능하다
상수를 리턴하는 것이 아니라 pos 객체를 리턴하므로


 * 전위 증가와 후위 증가의 구분
전위 증가 ++pos는
const pos.operator++();로

후위 증가 pos++는
const pos.operator++(int);로


 * 반환형에서의 const
const 객체는 멤버변수의 변경이 ㅂㄱㄴ

const 객체는 const 참조자로만 참조 ㄱㄴ

const 객체를 대상으로는
const 함수만 호출 가능

반환형이 const라는 의미는
반환되는 객체를 const 객체화 시키겠다는 것

이러한 const 반환형의 특징을 이용하여
(pos++)++ 같은 것을 막을 수 있다
const 반환형을 안 쓰면 (pos++)++ 가능


 * 스마트 포인터  Smart Pointer
포인터보다 똑똑하게 동작하는 객체
똑똑한 포인터

'소프트웨어학부 > c++ 문법' 카테고리의 다른 글

c++ 3장  (0) 2024.04.21
c++ 2장  (0) 2024.04.21
c++ 1장  (0) 2024.04.20