C++ Orthodox Canonical Class Form (OCCF)

42서울에서 배우는 C++ 과제의 기준이 C++98 이므로, C++98의 OCCF에 대해여 정리.

Orthodox Canonical Class Form (OCCF)

정식 클래스 형식

OCCF는 아래 네 가지의 형태를 명시적으로 정의하여 선언하는 것을 가리킨다.

  • 기본 생성자
  • 기본 소멸자
  • 복사 생성자
  • 할당 연산자 오버로딩
class A
{
  A();
  ~A();
  A(const A &a);
  A &operator= (const A &a);
};

위와 같은 선언이 모두 들어간 것을 OCCF라고 부른다.

 

이것은 클래스 객체에 포인터 또는 참조 형식이 있을 때, 깊은 복사 또는 얕은 복사를 비롯하여,

여러가지 잠재적인 버그를 해결하는데에 도움을 준다.

 

C++11에서는 위와 같은 C++98의 정식 클래스 형태에서 &&로 붙는 이동 생성자와, 이동 할당 연산자 2개가 추가로 붙으면 OCCF다.

'삽질 정보 > C, C++' 카테고리의 다른 글

C++의 다형성  (0) 2021.12.11
C++의 Const 교정자 (Correctness)  (2) 2021.12.11

댓글

Designed by JB FACTORY