2. Operators

이 장에서는 연산자 관련 주의할 점에 대해 알아본다.

5. Be wary of user-defined conversions.

클래스에 대한 사용자 정의 형변환에 대해 주의하라. 유효 인자가 하나인 생성자는 explicit을 달아 묵시적 형변환을 막아라.

6. Distinguish between prefix and postfix forms of increment and decrement operators.

++ 연산자와 — 연산자는 전위/후위 증감 연산자를 오버로딩하는 방법이 다르다. 이렇게 오버로딩한다.

UPInt& operator++();          // prefix ++
const UPInt operator++(int);  // postfix ++


UPInt& operator--();          // prefix --
const UPInt operator--(int);  // postfix --

7. Never overload &&, || or ,.

절대 &&, ||, , 연산자를 오버로딩하지 말라. 클래스가 생각대로 동작하지 않게 된다.

8. Understand the different meanings of new and delete.

new는 클래스의 생성자를 부르고 operator new는 메모리만 할당한다. 존재하는 메모리에 생성자만 호출하려면 placement new를 불러야 한다. placement new로 만든 오브젝트는 delete를 하면 안 된다.

답글 남기기

아래 항목을 채우거나 오른쪽 아이콘 중 하나를 클릭하여 로그 인 하세요:

WordPress.com 로고

WordPress.com의 계정을 사용하여 댓글을 남깁니다. 로그아웃 /  변경 )

Google photo

Google의 계정을 사용하여 댓글을 남깁니다. 로그아웃 /  변경 )

Twitter 사진

Twitter의 계정을 사용하여 댓글을 남깁니다. 로그아웃 /  변경 )

Facebook 사진

Facebook의 계정을 사용하여 댓글을 남깁니다. 로그아웃 /  변경 )

%s에 연결하는 중