Post List

2015년 1월 4일 일요일

C++가 자동으로 만드는 함수들에 주의하자.

* Compiler는 경우에 따라 Class의 기본 생성자, 복사 생성자, 복사 대입 연산자, 소멸자 를 암시적으로 만들어 놓을 수 있습니다.

각 Class의 멤버 변수들에 대하여 기본형만을 사용했거나, 복사 생성자, 복사 대입 연산자가 public으로 정상적으로 동작하는 Class 들을 사용했을 경우에는 자동으로 생성되는 복사 생성자 / 복사 대입 연산자 로 동작을 하지만, 그렇지 않은 경우는 Compiler에 따라 오류를 발생하기도 하고, 런타임 에러를 유발하기도 한다.

MFC의 경우 CObject를 상속받은 모든 Class에 대하여 복사 대입 연산자의 정의가 되지 않아서 Programmer들이 난감한 경우가 자주 발생한다. 이럴 경우 shared_ptr을 사용하여 우회 할수가 있는데, 아래의 링크로 들어가면 상세한 내용을 볼 수가 있다.

http://devluna.blogspot.kr/2014/12/class.html

댓글 없음:

댓글 쓰기