본문 바로가기

개발

__cplusplus_1

C++ 공부를 위해 블로그에 가끔씩 현재 보고 있는 책의 내용을 정리 하기로 했다.

책의 제목은 Effective C++...

이 책에 대한 내용을 정리하면 저작권 침해인가???? 흐음...갑자기 두려운데..ㅡㅡ;;;;

금일 본 내용 정리

1. C++은 네가지 하위 언어들의 연합체
  - C 언어
  - 클래스 개념을 가지는 객체 지향 개념의 C++
  - 일반화 프로그래밍 부분의 템플릿 C++
  - STL

2. 전처리기 보다는 컴파일러를 가까이 하자.
  - #deifne을 상수로 교체 시 유의점
( 참고 : 상수 정의는 대개 헤더파일에 넣는 것이 상례)
    1. 상수 포인터를 정의 하는 경우 포인터 및 포인터가 가리키는 대상 까지 const로 선언.
      ex : const char * const test = "Let's study C++";
    2. 정적 클래스 멤버 상수를 만들 경우에는 선언과 정의를 따로 해주어야 한다.
      ex :
      // test.h
      class CTest {
      private:
        static const int test = 5; //정적 멤버 상수 선언
        };
      // test.cpp
      const int CTest::test;  //정적 멤버 상수 정의
    3. enum hack을 생각하자.
      ex:
      // test.h
      class CTest {
      private:
        enum { size = 5 };
        int array [size];
        };
    4. inline함수를 우선 생각하자.


반응형