부재 : 단독 연산자 보단 =이 붙은 연산자가 대체적으로 효율적이였다!

이유
1. 일반적으로 대입 형태 연산자는 단독 혀애 연산자보다 효율적이다. 왜냐하면, 단독 형태 연산자는 새 객체를 반환하는 형식으로 만들어야 하지만, 대입 형태 연산자는 왼쪽 인자에다가 처리 결과를 기록하기 때문에, 이 연산자의 반환값을 담을 임시 객체를 만들어 놓을 필요가 없기 때문이다.

2. 포인터는 대입 형태 연산자와 단독 형태 연산자를 동시에 제공함으로써 클래스 사용자에게 효율과 편리성을 경우에 따라 저울질할 기회를 줄수 있다는 것

예)
result = a + b + c+ d;  // 세 개의 임시 객체가 사용되는데 임시 객체 하나마다 operator+가 호출된다.

Or

result = a;       // 임시 객체가 필요 없다.
result += b;      // 임시 객체가 필요 없다.
result += c;      // 임시 객체가 필요 없다.
result += d;      // 임시 객체가 필요 없다.

3. 단독 형태 연산자(+ * 등..)를 =이 붙은 연산자(+= *= 등..)으로 구현 가능하며, 일관성을 유지 시킬수 있다.
(내부적으로 += *= 등을 수정을 하여 + * 등을 조작할수 있기 때문이다)

구현 방법
1. 1~3번의 사항을 기억해 두고, 단독 형태 연산자를 쓸 부분에 대입 형태 연산자를 써 보도록 하라



posted by 농사를 짓는 게임 프로그래머 최익필

댓글을 달아 주세요