코딩 규칙 : 증가 연산자 전위, 후위에 대해

보물창고·2022년 8월 25일
0

c++ basic 코드누리

목록 보기
42/50

✨결론 그리고 지식

결론

: 증감목적으로 사용할 때는 전위 연산자를 사용하자.

후위형은

1) 임시 객체를 반환함.
2) 그리고 원본의 데이터를 증가해야 함.
3) 연속적인 증감을 못하게 하기 위해서 const 를 선언해야 함.
-> 이유 : const 선언으로 외부에서의 값 증감을 못하게 하자.

✨- 추가
: 현재 구성한 내용으로 코드를 만들게 되면,
int n=4;
n++++; 은 불가능하지만,

Point p;
p++++; 은 가능함.
이를 막기 위해서
3) const반환을 하기도 함.

전위형은

: 원본의 값이 그대로 증가하므로, -> 참조 반환함.

후위형보다 전위형을 사용하라는 이유

: 후위형은 임시객체를 만들기 때문이고, 전위는 참조반환이므로.

목표

: 구글링이든, 선배왈이든 전위연산자를 사용해!
라는 것을 들었는데 그 이유에 대해서 알아보자.

  • 예시 코드
    : 전위 증가와 후위 증가의 동작이 다르다는 것을 확인할 수 있음.

증가연산자.

  • 전위형, 후위형을 구별해야 함.
    1) 전위형은 인자가 없음.
    2) 후위형은 구별하기 위해 int 타입을 한개 가지도록 함.

전위형 만들기

✨1) 반환값에 유의해야함. -> 참조 반환타입으로 만들어야 함.

  • c++의 규칙, 값반환은 복사를 발생시킴.

  • 확인해보기
    Point p;
    ++++p; 를 해보아라.

후위형 만들기

: primitive를 후위형 하는 경우에 대해서 생각을 해보자.

확인해보기
int n = 4;
cout << n++ << endl;
cout << n << endl;

출력
4
5

가 나옴.

이를 통해서

problem

: 전위, 후위 증가연산자를 만들어라.
-> 어떻게 구별하는지 확인하는 방법.
:: ++++obj , obj++++; 을 하자!!

  • 전위 연산자의 경우 참조를 반환함.
  • 후위 연산자의 경우, value를 반환하고, 전위와 후위를 구분하기 위해
    인자로 (int) 를 작성한다.

  • 위의 결과를 보면,
    전위의 경우는 원본이 2번 증가하는 것을 확인할 수 있고,
    후의는 임시객체 반환되므로, 1번만 증가하는 것을 확인할 수 있음.

  • primitive type의 경우는
    : 후위연산자에서 2번 하는 것을 차단하고 있움!

profile
🔥🔥🔥

0개의 댓글