Programming | 프로그래밍 언어/EffectiveC++ 2

C++를 언어들의 연합체로 바라보는 안목

초창기의 C++ C언어에 객체 지향 기능 몇 가지가 결합된 형태 오늘날의 C++ 다중패러다임 프로그래밍 언어 절차적 프로그래밍을 기본으로 한다. 객체지향 프로그래밍 함수식 프로그래밍 일반화 프로그래밍 메타 프로그래밍 C++를 단일 언어로 바라보는 눈을 넓혀 상관 관계가 있는 여러 언어들의 연합체로 본다. C++의 하위 언어 C C++는 C를 기본으로 한다. 블록, 문장, 선행 처리자, 기본제공 데이터타입, 배열, 포인터 객체 지향 개념의 C++ 클래스를 쓰는 C 클래스, 캡슐화, 상속, 다형성, 가상 함수(동적 바인딩) 템플릿 C++ C++의 일반화 프로그래밍 부분 새로운 프로그래밍 패러다임인 템플릿 메타프로그래밍이 파생 STL 템플릿 라이브러리 컨테이너, 반복자, 알고리즘, 함수 객체

Modern Cpp에 대해 정리하기 전 프리뷰

용어 사용 선언(declaration) : 코드에 사용되는 어떤 대상의 이름과 타입을 컴파일러에게 알려주는 것 std::size_t numDigits(int number); // 함수 선언 extern int x; // 객체 선언 class Widget; // 클래스 선언 template class GraphNode; // 템플릿 선언 시그니처(signature) : 함수의 매개변수 리스트와 반환 타입 위의 경우 numDigits 함수의 시그니처는 std::size_t(int) 정의(definition) : 선언에서 빠진 구체적인 세부사항을 컴파일러에게 제공하는 것 함수에 대한 정의는 함수에 대한 코드 본문을 제공하는것이다. 클래스에 대한 정의는 클래스의 멤버를 넣어 준 결과이다. 초기화(initiali..