[Effective C++] 1. C++
1: C++ 언어들의 연합체 C++는 다중패러다임 프로그래밍 언어 라고 부른다 절차적 프로그래밍을 기본으로 하여 객체 지향, 함수식, 일반화 프로그래밍, 메타 프로그래밍을 포함한다 TMP : 템플릿 메타프로그래밍. C++의 일반화 프로그래밍 부분 STL : 템플릿 라이브러리 컨테이너, 반복자, 알고리즘, 함수 객체 C와의 차이점 C에서는 기본적으로 값 전달이 참조 전달보다 좋다. C++에서는 생성자, 소멸자가 생기고, 템플릿을 쓰다보면 해당 객체의 타입을 알 수 없기 때문에 const 객체 전달이 가장 좋다 그러나, STL은 값 전달이 좋다 (C 기반이기 때문에) 2: #define 보다 const, enum, inline 컴파일러를 더 가까이하자 #define 을 쓰면 선행 처리 과정에서 이미 상수로 ..