C++은 크게 4가지 부분으로 나눌 수 있다.
(1) C언어: 문장, 블록 단위, 기본 데이터 타입, 배열 및 포인터 모두 C언어 기반
(2) Class : Pure C 언어에는 class 개념이 존재하지 않으며, 비슷한 개념으로 struct가 존재하지만
생성자 및 소멸자, 상속이나 가상함수 등의 개념이 존재하지 않기 때문에 완전히 다른 개념이다.
c++에서의 struct는 c언어와는 다른데,
사실상 c++에서 struct와 class의 차이점은 기본 접근 지정자가 public이냐, private이냐의 차이밖에 존재하지 않는다.
( 애초에 c++에서 struct 개념은 존재하지 않다가 c언어 사용자들에 의해 나중에 추가된 개념이기 때문에 거의 같은 개념이다. )
(3) Template : 함수와 클래스가 제네릭 형으로 동작할 수 있게 도와 준다. 함수나 클래스가 개별적으로 다시 작성하지 않고도 각기 다른 수많은 자료형에서 동작할 수 있게 한다.( 링크 )
템플릿이라는 개념은 TMP(Template Metaprogramming)를 파생시킬만큼 강력한 기능이다.
(4) STL(Standard Template Library) : 템플릿을 활용한 라이브러리에 속하며, 거의 C++ 표준 취급을 받는다.
stl은 크게 컨테이너(Container), 반복자(Iterator), 알고리즘, 함수 객체 개념으로 나눠서 볼 수 있다.
항목 6) 암시적으로 생성되는 함수들을 금지하기 (0) | 2021.12.05 |
---|---|
항목 5) C++가 자동으로 만들고 호출하는 함수들 (0) | 2021.12.05 |
항목 4) 객체 사용 전에 반드시 먼저 초기화하자 (0) | 2021.12.05 |
항목 3) const 에 대해서 (1) | 2021.08.15 |
항목 2) #define 을 지양하자 (0) | 2021.08.15 |
댓글 영역