4.2.6 기타 유용한 기능(연산자 재정의, 비트맵 정보 제공 등)
IppDib 클래스는 대입 연산자 재정의를 제공한다.
• IppDib& operator=(const IppDib& dib);
IppDib 클래스처럼 내부적으로 메모리를 동적 할당하여 사용하는 클래스는 대입 연산자를 재정의하여 사용하는 것이 안전하다. 대입 연산자를 재정의한 경우, 다음과 같은 코드를 이용하여 DIB를 복사할 수 있다.
IppDib dib1, dib2; dib1.Load("c:\\test.bmp"); dib2 = dib1; // 대입 연산자 재정의를 이용한 영상의 복사
대입 연산자 재정의 구현은 소스 4-7에 나타내었다. 대입 연산자 함수에서는 가장 먼저 재귀 검사를 통해 자기 자신에게 대입할 때 발생할 수 있는 문제점을 방지하고, 이후 모든 멤버 변수의 값을 복사한다. 특히 동적 할당된 메모리 공간의 내용도 동일하게 복사해주어야 한다.