항목 4 : 쓸데 없는 기본 생성자는 그냥 두지 말자.

개념 정리
1. 클래스 생성시 기본적으로 생성되는 함수들이 무엇이 있는지 알아야 한다. operator 까지!
2. 1번의 사항과 더블어 각각의 기본적인 상태도 알아야 한다.

이유
1. 기본 생성자가 없을 경우, 배열의 생성이나 new 연산을 사용 할수 없다.
2. 기본 생성자가 없을 경우, 템플릿 기반의 콘테이너를 사용 할수 없다.

해결방법
1. 쓸데없이 생성자 정의는 하지 마라.
2. 만약 기본 생성자가 없다면, 자신에 맞는 기본생성자를 만들어 주라.

주의점
1. 이 이야기는 기본 생성자가 다른 용도로 쓰일 때, 본래 목적의 기본생성자가 있어야 한다.
2. 배열 선언시나 new를 객체 배열들이거나 기본생성자 ()를 사용 한다는 점을 알고 있어야 한다.
3. 기본 생성자는 tag() 형태이기 때문에 외부에서 들어 오는 정보가 없다. 그렇기 때문에 초기화가 어렵다.

개인적인 생각
1. 뭐 간단한 코딩이라면, 신경 안써도 되겠지만, 코딩 습관으로 본다면, ... 역시 해주는 편이 좋을 것 이다.
2. 기본 생성자는 class tag 일때 tag() 를 말하는 것이고 생성자는 tag(),tag(int a), tag(double b) 도 있다
3. 쓸때 없는거 자체는 원래 효율에서 떨어진다. 생성자를 쓸때는 꼭 필요할때만 사용 하는게 좋을듯 싶다.
4. 레퍼런스로 멤버로 갖는 데이터의 경우, .. 기본 생성자에서 처리해줘야 할게 많으므로 포인터로 처리하는게 속편할듯 싶다.

졸리다 그만 자자.

posted by 농사를 짓는 게임 프로그래머 최익필

댓글을 달아 주세요