부재 : 멤버 객체의 생성 시점과 초기화와 시점 이유 1. 초기화 되지 않은 객체 사용시, 신비롭게 동작하는 현상을 볼수 있기 때문이다. 멤버 객체 생성 시점 1. 초기화 리스트 발동 시점에 생성 된다. 주의점 1. 상수나 참조자는 대입 자체가 불가능하기 때문에 초기화 리스트를 사용하여 초기화 하여야 한다. 2. 멤버 초기화 리스트에서 초기화 하는것이 더 좋다. 왜냐하면 멤버 초기화 리스트는 객체의 생성단계이기 때문이다. 3. 클래스에 나열한 객체의 순서대로 객체가 생성되므로 초기화 리스트 작성시 유념해야 한다. (단순한 초기화 라면 문제는 없지만, 멤버객체를 이용한 객체 초기화 시에는 문제 발생이 생긴다. 증명 소스코드는 참조링크를 확인할것) 참조 1. 멤버 초기화 리스트란? 코드의 주석을 보면 이해가..
분류 전체보기 검색 결과
이유 1. 의미적으로 상수로 표현하기보단 실질적으로 상수로 표현하는 const가 더 안정적이기 때문이다. (함수 내부에서 값을 건드리지 않는다는 의미만 가지고 코딩할게 아니라 진짜로 표현하는게 더 좋기 때문이다) 주의점 1. 함수의 반환값 함수의 매개변수, 함수의 정의 구역을 모두 const로 할수 있는지 생각해 보아야 한다. 2. 상수객체와 비상수객체는 함수의 오버로딩 대상에 포함된다. - 즉 상수객체만 받거나 비상수객체만 받거나 둘의 차이를 인정한다는 것이다. 3. 상수 멤버 함수의 반환값이 참조자라면, 상수형 참조자를 반환할수 있게 만들어야 한다. - 왜냐하면 기본제공 타입을 반환하는 함수의 반환값 수정은 공통적으로 안되는 규칙을 따르기 위함이다. 참조 const에 "상수형" 이라는 말을 붙여버려서..
부재 : 가급적 선행 처리자보다 컴파일러를 더 가까이 하자. 이유 1. 컴파일러는 #define을 알아차리지 못하기 때문에, 디버그가 힘들어지기 때문이다. 주의점 1. const로 상수화 시킬때 포인터라면 데이터와 포인터 역시 막아야 한다. - const char * const authorname = "Scott Meyers"; 2. 클래스 상수 멤버상수는 static const int a = 5; 로 사용 하면 좋다. 3. 클래스를 컴파일 도중 클래스 상수(클래스에서만 쓰일) 값이 필요하다면 enum을 사용 하는게 좋다. - enum에 대한 참조자를 갖지 못한다. - 메모리를 사용하지 않는다. 4. #define 함수는 잦은 버그가 있기 때문에 inline함수를 하면 더 좋다. 이것만은 잊지 말자! 1..
이유 1. C++은 - 절차적 프로그래밍 - 객체 지향 - 함수식 - 일반화 - 메타프로그래밍 개념까지 지원하기 때문이다. 2. 효과적인 프로그래밍은 C++의 어떤 개념으로 프로그래밍 할지 정한다면, 더 쉽게 접근할수 있기 때문이다. 이것만은 잊지 말자 1. C++의 어떤 개념을 사용할지 정해야 효과적인 프로그래밍 규칙을 적용 할수 있다. 관련 링크 http://nbloger.net/2690079 http://jbh5310.springnote.com/pages/702032 http://kelly.springnote.com/pages/552483
Effective C++ 2판과 More Effective C++ 을 보고 나서, 감동을 받고, 나는 Effective C++에 맹신하기 시작했다. EC++ 2판과 MEC++ 1판은 학원에서 빌려보았지만, 3판만은 꼭 가지고 있어야겠다고 생각하여 구입했다. 금액은 1만원 중고책으로 구입을 하였다. 공부하기에 앞서 목적을 확실히 해 둔다. 1. 나는 게임을 만들 수단으로 Effective C++ 3판을 공부한다. 2. 5번 본다. 자~ 10,000원으로 100,000,000원 뽑아 볼까! Ps. 개인적으로 진영이도 공부하고 있다니, 토론형태로 이야기를 나누면 좋을듯 싶다.
# 정리가 끝날때 마다 링크를 한개씩 추가 시킨다. 책 : Effective C++ 3rd. 저자 : 스캇 마이어스(Scott Meyers) 옮김 : 곽용재(http://www.kwak101.pe.kr/) Chapter 1. C++에 왔으면 C++의 법을 따릅시다. * 항목 1. C++를 언어들의 연합체로 바라보는 안목은 필수 * 항목 2. #define을 쓰려거든 const, enum, inline을 떠올리자. * 항목 3. 낌새만 보이면 const를 들이대 보자! * 항목 4. 객체를 사용하기 전에 반드시 그 객체를 초기화하자. Chapter 2. 생성자, 소멸자 및 대입 연산자 * 항목 5. C++가 은근슬쩍 만들어 호출해 버리는 함수들에 촉각을 세우자. * 항목 6. 컴파일러가 만들어낸 함수가 필..
최근댓글