C++ Orthodox Canonical Class Form (OCCF)
- 삽질 정보/C, C++
- 2021. 12. 11.
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 |