Notice
Recent Posts
Recent Comments
Link
It won't hurt to try
[C++/윈도우프로그래밍응용]24. 표준 템플릿 라이브러리(STL) 본문
STL = Standard Template Library
- 많은 프로그래머들이 공통적으로 사용하는 자료 구조와 알고리즘을 구현한 클래스들로 구성
- 템플릿(template)기법을 사용
→ 어떤 자료형에 대해서도 사용 가능 - 3가지 종류의 컴포넌트
→ 컨테이너(container), 반복자(iterator), 알고리즘(algorithm)
컨테이너(container)
- 배열, 연결 리스트, 벡터, 집합, 사전, 트리 등
반복자(iterator)
- 특히, 컨테이너와 알고리즘 간의 연결 다리 역할
알고리즘(algorithm)
- 탐색(find), 정렬(sort), 반전(reverse), 삭제(remove), 변환(transform) 등 다양한 작업 수행
STL의 장점
유용한 수많은 컨테이너와 알고리즘 제공
- 자료 구조와 알고리즘의 다양한 기능 활용 가능
어떠한 자료형에 대해서도 사용 가능
- 객체 지향 기법과 템플릿을 적용하여 만들이짐
전문가가 설계 및 구현하고 테스트를 거친 검증된 라이브러리
- C++언어의 설계 과정에서 설계 및 구현되어 상세 불명의 오픈소스 및 제3자 제작 라이브러리에 비해 호환성이 높음
벡터
= 동적 배열
vector<자료형> <변수명>(<요소 개수>);
vector<int> scores(10);
push_back(), pop_back()
백터의 맨 뒤에 요소를 추가하거나 제거하는 멤버 함수
vector<int> scores;
scores.push_back(92);
scores.push_back(11);
scores.push_back(13);
scores.push_back(25);
scores.pop_back();
반복문으로 값을 출력
vector<int> scores;
for(auto p = v.begin; p != v.end(); ++p)
cout << *p << endl;
300x250
300x250
'C++ > 윈도우프로그래밍응용' 카테고리의 다른 글
[C++/윈도우프로그래밍응용]27. Qt의 개요 (0) | 2021.11.09 |
---|---|
[C++/윈도우프로그래밍응용]26. STL 알고리즘과 람다식 (0) | 2021.11.06 |
[C++/윈도우프로그래밍응용]23. 템플릿 (0) | 2021.10.30 |
[C++/윈도우프로그래밍응용]22. 예외 처리 (0) | 2021.10.30 |
[C++/윈도우프로그래밍응용]21. 파일 입출력 (0) | 2021.10.26 |
Comments