이유 1. 은글슬쩍 만들어 호출해 버리는 함수들이 벌레의 밥이기 때문이다. 주의점 1. 은근슬쩍 만들어 호출하는 함수들은 - 기본 생성자 : Empty(){ .. } 를 말함 - 복사 생성자 : Empty(const Empty& rhs) { .....} 를 말함 - 소멸자 : ~Empty() { ...} 를 말함 - 복사 대입 연산자 : Empty& operator= (const Empty& rhs){ ....} 를 말함 참조 1. 기본 생성자는 복사 생성자를 제외한 생성자를 만들면 C++이 만들어 주지 않는다. 2. 복사 생성자만은 꼭 정의해두지 않으면 무조건 만들어 준다. 3. 소멸자만은 꼭 정의해두지 않으면 무조건 기본 소멸자가 만들어 진다. 4. 복사 대입 연산자만은 꼭 정의해두지 않으면 무조건 ..
c++ 검색 결과
이유 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++ 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. 컴파일러가 만들어낸 함수가 필..
출처 : 벌나래 ( HOMEPAGE ) 사유 : 귀중한 데이터가 날라갈까봐 블러그에 옮겨 둔다. 자세한 설명이 아주 일품이다 원문 : 링크 컴파일러가 특정 머신에서 기계어 코드로 변환되어 데이터를 저장하고 가져오는데는 보통 word 단위(4 byte)로 입출력하는 경우가 많다. 이것은 시스템의 효율성을 가져오기 위해서 단위 출력/입력을 하는 것이다. 원래 이렇게 되는 것은 CPU의 특성때문이다. CPU 에서 가장 비용이 많이 들어가는 것은 메모리에 접근하는 작업인데 이 작업이 잦으면 별로 효율적이지 못하게 된다. 따라서 CPU는 (보통 32bit 머신이라면) 주변에 4 byte(32bit)의 데이터 공간을 같이 가져온다. 따라서 1 cycle당 32 bit 단위로 한번에 가져오게 되는 것이다. (항상 3..
최근댓글