- default constructor
- 하나라도 직접 정의한 constructor가 있을 때
- 클래스 멤버 중에 default constructing이 불가능한 멤버가 있을 때( ex. reference, const object 등)
- copy constructor
- 직접 정의한 copy constructor(class T에 대해 T, T&, const T&를 받는 constructor)가 하나라도 있을 때
- 클래스 멤버 중에 copy constructing이 불가능한 멤버가 있을 때( ex. reference 등)
- 직접 정의한 move constructor 나 move assignment op가 있을 때
- copy assignment operator
- 직접 정의한 copy assignment op(class T에 대해 T, T&, const T&를 받는 op)가 하나라도 있을 때
- 클래스 멤버 중에 자동으로 assign이 불가능한 멤버가 있을 때( ex. reference, const object 등)
- 직접 정의한 move constructor 나 move assignment op가 있을 때
- destructor
- 직접 정의한 destructor가 있는 경우
- move constructor
- 직접 정의한 move constructor가 있는 경우
- 클래스 멤버 중에 move가 불가능한 멤버가 있는 경우( ex. deleted/inaccessible/ambiguou 등)
- 직접 정의한 copy constructor, copy assignment op, destructor, move assignment op가 있는 경우
- move assignment operator
- 직접 정의한 move assignment op가 있는 경우
- 직접 정의한 copy constructor, copy assignment op, destructor, move constructor가 있는 경우
3월 29, 2016
constructor/destructor와 assignment operator가 (자동으로) implicit define되지 않는 경우.
라벨:
C++,
C++11,
Programming
피드 구독하기:
댓글 (Atom)
댓글 없음:
댓글 쓰기