C++의 클래스는 기본적으로 다음의 특수한 멤버 함수를 생성합니다.

기본 생성자
복사 생성자
복사 대입 연산자
소멸자

클래스를 생성하고 아무것도 하지 않아도 위의 4개는 기본적으로 생성됩니다.


C++ 11 에서는 기본적으로 생성되는 특수 멤버 함수에 무브 생성자, 무브대입연산자가 추가 되었습니다.


NonCopyable 할때 사용하는 것이 default, delete

생성자 = default 를 사용하면 기본 생성자가 생성되고

NonCopyable은 복사생성자 대입연산자를 사용할 수 없어야하기 때문에

NonCopyable(const NonCopyable&) = delete;

NonCopyable& operator = (const NonCopyable& ) = delete;

이렇게 선언해서 disable을 해준다.


vs2013부터 사용된다.


[참고] 

http://psychoria.tistory.com/entry/C-11-default%EC%99%80-delete-%ED%82%A4%EC%9B%8C%EB%93%9C


http://egloos.zum.com/sweeper/v/2995404

'까먹지말자' 카테고리의 다른 글

16진수에 관해서  (1) 2017.02.09
posted by 알쿠미