C++

클래스 설계는 타입 설계와 같다. 새로운 타입을 정의하기 전에 몇 가지 고려사항을 점검해 보자. 클래스 설계는 타입 설계 여느 객체 지향 프로그래밍 언어처럼, C++에서 새로운 클래스를 정의한다는 것은 새로운 타입을 정의하는 것과 같다. C++ 개발을 한다는 것은 타입을 새로 만드는 일과 같으며 함수와 연산자를 오버로드하고, 메모리 할당 및 해제를 제어하며, 객체 초기화 및 종료처리를 정의하는 작업 모두 관리해 주어야 한다. 좋은 클래스를 설계하는 것은 꽤 어렵다. 문법이 자연스럽고, 의미구조가 직관적이며, 효율적인 구현이 가능해야 한다. 성능 또한 무시할 수 없는 부분이다. 다음은 좋은 클래스를 설계하기 위해 고려해 볼 사항 몇 가지이다. 새로 정의한 타입의 객체 생성 및 소멸은 어떻게 이루어져야 하는..
상수를 쓸 때는, #define보다는 const, enum을 우선으로 함수처럼 쓰이는 매크로는 #define 매크로보다 inline함수를 우선으로 #define 대신 const, enum, inline #define ASPECT_RATIO 1.653이라고 상수를 정의했다고 치자. 우리에게는 ASPECT_RATIO라는 기호식 이름(symbolic name)으로 보이지만 컴파일러는 전혀 알 수 없다. 소스 코드가 컴파일러에게 넘어가기 전에 전처리 단계에서 숫자 상수로 바꾸어버린다. 그 결과, ASPECT_RATIO는 기호 테이블에 들어가지 않고 1.653이라는 숫자로 들어가게 된다. 따라서, 우리는 에러를 보면 ASPECT_RATIO는 이름은 찾아볼 수 없다. 이러한 문제를 매크로대신 상수(const)를 사..
hvv_an
'C++' 태그의 글 목록 (31 Page)