1. C++ 언어
ㅇ C 언어와 완벽한 하향 호환성을 유지한채, 객체지향 패러다임을 구현한 프로그래밍 언어
ㅇ 기원
- 1980년대 벨연구소에서 일하던 Bjarne Stroustrup에 의해 만들어짐 (1983년도 발표)
2. C++의 특징 (주로, C 언어와 비교)
ㅇ C 언어에 기초하여, 객체지향 기법을 가미함
- 즉, C 언어에 OOP 특성을 추가
- C 언어 및 객체지향적인 스타일, 이 두가지를 혼용한 채 프로그램 작성 가능
- 또한, 기존의 C 라이브러리를 그대로 사용 가능
ㅇ 프로그래밍 단위가 클래스 임
- C 언어 -> 함수
. 단, C++ 에서는, 참조 호출, 다중 정의 등이 가능하도록 확장됨
- C++ 언어 -> 클래스
ㅇ 확장자 `*.h`를 쓰지 않음
- 사용자 정의 헤더 파일이 아닌 표준 헤더 파일인 경우에는, 확장자 `*.h`를 쓰지 않음
- 왜냐하면, 물리적인 파일 외에도 메모리나 미리 컴파일된 정보 등을 참조하므로
ㅇ 지역 변수를 함수 중간에서도 선언 가능
- C 언어는, 지역 변수의 변수 선언을 반드시 함수 선두에 위치해야 하나,
- C++ 언어는, 함수 중간 등 위치무관 선언 가능
ㅇ 동적 메모리 할당에 연산자 사용
- 동적 메모리 할당/해제를 함수가 아닌 연산자를 사용
. C 언어 -> malloc(), free()
. C++ 언어 -> new, delete
ㅇ 주석은, /* */ 또는 // 모두 가능
ㅇ 확장자를, `.cpp`로 씀
- 만일, .c 로써 확장자를 쓰면, C 언어 문법으로 컴파일을 함
ㅇ (기타사항)
- 다중 정의(오버로딩)
- 네임스페이스
- 템플릿
3. C++ 자료형
※ ☞ C++ 자료형 참조
* 대부분, 기존 C 언어 자료형 그대로 차용
- 자료형 변수 선언 및 형변환
- 자료형 별칭 및 참조 등
4. C++ 표준 라이브러리 (C++ Standard Library)
ㅇ C++ 표준에 의해 쓰여진 클래스들과 함수들의 집합
ㅇ 例) iostream (입출력 스트림) 등