STL 2

C++ STL 벡터, 리스트, 덱 비교

C++ STL 벡터, 리스트, 덱 비교 개인적으로 까먹지 않으려고 적어두는 글. 벡터 vector v; // 컴파일러 버전에 따라 vector v;로 써야 인식이 되는 경우도 있다. vector v; 1) Vector 특징 배열과 유사하다. 배열의 크기는 고정이지만, 벡터의 크기는 동적으로 변한다. 중간에 데이터 삽입, 삭제가 용이하지 않다. 데이터를 순차적으로 저장한다. 검색 속도가 느리다. 랜덤 접근이 용이하다. 2) Vector를 사용해야 하는 경우 중간의 데이터 삽입이나 삭제가 없을 경우 순차적으로 저장된 데이터를 빈번하게 검색하지 않을 경우 특정 데이터가 저장된 위치를 파악하여 랜덤 접근할 경우 ex) v [5] 3) 장점 개별 원소들을 인덱스로 접근이 가능하다. 원소를 컨테이너의 끝에 삽입 /..

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

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