[C++ Primer Plus] Chapter 1, 2. 시작하기
Table of Contents
C++ 기초 플러스 책을 읽고 공부한 노트입니다.
C++ #
-
C++은 다음과 같은 요소를 합쳐서 만든 것이다.
-
(1) C의 절차적 프로그래밍
- 알고리즘(컴퓨터가 따라가야 할 절차)을 강조함
-
(2) 객체 지향 프로그래밍
- 데이터를 강조함(문제 특성에 맞는 데이터형을 설계힘: Class)
-
(3) 일반화 프로그래밍
- 알고리즘을 강조함(데이터형과 무관한 코드를 작성할 수 있게함: Template)
- 알고리즘을 강조함(데이터형과 무관한 코드를 작성할 수 있게함: Template)
객체 지향 프로그래밍 #
- 클래스
- 데이터 형식과 그것이 사용되는 방법을 서술하는 것.
- 객체
- 클래스가 실제로 생성된 구체물.
- 클래스가 실제로 생성된 구체물.
실행 파일 생성 순서 #
- (1) 전처리기가 선행처리문자(
#
)로 시작하는 선행처리지시문을 처리한다. - (2) 컴파일러가 전처리기문이 사라진 소스코드를 어셈블리 코드로 변환한다.
- (3) 어셈블러가 목적 코드로 만든다.
- (4) 링커가 모든 오브젝트 파일들을 연결해서 실행 코드를 만든다.
컴파일러 번역 순서 #
- (1) 어휘 분석(Lexical)
- 정규 문법에 따라 소스 코드를 토큰(token; 한 행에서 더 이상 분리할 수 없는 기본 요소)의 집합으로 변환한다.
- (2) 구문 분석 (Syntax)
- 소스 코드의 문법이 올바른지 분석한다.
- (3) 의미 분석 (Semantic)
- 정수와 문자열의 덧셈, 값을 0으로 나누는 행동 등과 같이 의미적으로 올바르지 않은 코드의 존재 유무를 검사한다.
- (4) 중간코드 생성
- (5) 코드 최적화
- 코드를 좀 더 효율적으로 만든다.
- (6) 목적코드 생성
함수 #
- 함수 원형(prototype)
- 함수의 인터페이스만 알려주는 것
- 함수 정의(definition)
- 실제 코드
- 실제 코드