항목 3 : 배열과 다형성은 같은 수준으로 놓고 볼 것이 아니다. 개념정리 다형성 : 기본 클래스 객체의 포인터나 참조자를 통해서 파생 클래스 객체를 조작 하는 성질 public 상속의 쓰임 중 함수의 인자값이 기본클래스의 포인터나 레퍼런스일때 파생클래스도 받을수 있도록 해준다. 이유 1. 파생 클래스의 객체의 크기와 기본 클래스의 객체의 크기가 다르기 때문에, 포인터 계산(배열이니까!)시 오류가 발생한다! 해결방법 1. 배열의 포인터 계산과 다형성의 포인터 계산은 서로 다르다는 차이점을 숙지해라. 개인적인 생각 1. 이제부터 슬슬 기본 지식이 있어야지만 이해 할수 있는 수준이 나온다. 2. 이 차이점을 안다면, 코딩할 때 주의를 할수 있을것 같다.
More Effective C++ 검색 결과
항목 2 : 가능한 C++ 스타일의 캐스트를 즐겨 쓰자 개념 정리 1급 기피 대상 : goto 문, cast문(형변환) C++ 캐스팅 변환 사용 법 : http://ikpil.tistory.com/262 참조 이유 1. C스타일의 캐스트는 어떤 타입을 다른 타입으로 한방에 바꾸어 주는 괴물이다. 2. 눈으로 찾아 내기가 힘들다. 해결방법 1. 캐스팅 변환환을 쓸때는 C++ 스타일로 쓰자 주의점 1. 캐스팅 변환을 쓸때만 쓰는것이지 즐겨 쓰라는것이 아니다. 써야지만 할수 있을때 이렇게 쓰라는것이다. 2. 함수 포인터를 형변환은 목에 칼이 들어 올 경우가 아니라면 쓰지 말아라.(항목 31에서 자세하게 설명해준다고함) 개인적인 설명 캐스팅 변환 요약 static_cast : int를 double로.. 이런 류..
항목 1 : 포인터와 참조자를 구분하자. 개념 정리 포인터(pointer)는 NULL 을 가질수 있다. 참조자(reference)는 NULL 을 가질수 없다. 그렇기 때문에 C++ 스펙에는 참조자는 선언과 동시에 정의해야 한다. 그리고 참조자는 초기에 참조하고 있는것만 참조 할수 있으며, 다른 객체로 바꿀수 없다. 이유 1. 더 효율적인 코딩이 가능해 진다. 해결 방법 1. 각각 어떨때 쓰는지 알아 두어야 한다. 포인터(pointer)는 가리키는 객체의 주소가 없을 때가 있거나, 하나의 포인터로 여러개의 객체를 가리킬 필요가 있을 때 참조자(reference)는 가리키는 객체의 주소가 시작부터 끝까지 있거나, 오직 한개의 객체만 가리킬 때 여기에 참조자(reference)를 쓸때가 한가지 더 있다. op..
최근댓글