![Page 1: [KOSSA] C++ Programming - 15th Study - STL #1](https://reader034.vdocuments.site/reader034/viewer/2022042701/55c7dc7fbb61eb70658b4698/html5/thumbnails/1.jpg)
![Page 2: [KOSSA] C++ Programming - 15th Study - STL #1](https://reader034.vdocuments.site/reader034/viewer/2022042701/55c7dc7fbb61eb70658b4698/html5/thumbnails/2.jpg)
![Page 3: [KOSSA] C++ Programming - 15th Study - STL #1](https://reader034.vdocuments.site/reader034/viewer/2022042701/55c7dc7fbb61eb70658b4698/html5/thumbnails/3.jpg)
3
Bijarne Stroustrup
Alexander Stepanov
![Page 4: [KOSSA] C++ Programming - 15th Study - STL #1](https://reader034.vdocuments.site/reader034/viewer/2022042701/55c7dc7fbb61eb70658b4698/html5/thumbnails/4.jpg)
4
http://ko.wikipedia.org/wiki/표준_템플릿_라이브러리
![Page 5: [KOSSA] C++ Programming - 15th Study - STL #1](https://reader034.vdocuments.site/reader034/viewer/2022042701/55c7dc7fbb61eb70658b4698/html5/thumbnails/5.jpg)
5
![Page 6: [KOSSA] C++ Programming - 15th Study - STL #1](https://reader034.vdocuments.site/reader034/viewer/2022042701/55c7dc7fbb61eb70658b4698/html5/thumbnails/6.jpg)
6
![Page 7: [KOSSA] C++ Programming - 15th Study - STL #1](https://reader034.vdocuments.site/reader034/viewer/2022042701/55c7dc7fbb61eb70658b4698/html5/thumbnails/7.jpg)
7
![Page 8: [KOSSA] C++ Programming - 15th Study - STL #1](https://reader034.vdocuments.site/reader034/viewer/2022042701/55c7dc7fbb61eb70658b4698/html5/thumbnails/8.jpg)
8
![Page 9: [KOSSA] C++ Programming - 15th Study - STL #1](https://reader034.vdocuments.site/reader034/viewer/2022042701/55c7dc7fbb61eb70658b4698/html5/thumbnails/9.jpg)
![Page 10: [KOSSA] C++ Programming - 15th Study - STL #1](https://reader034.vdocuments.site/reader034/viewer/2022042701/55c7dc7fbb61eb70658b4698/html5/thumbnails/10.jpg)
10
![Page 11: [KOSSA] C++ Programming - 15th Study - STL #1](https://reader034.vdocuments.site/reader034/viewer/2022042701/55c7dc7fbb61eb70658b4698/html5/thumbnails/11.jpg)
![Page 12: [KOSSA] C++ Programming - 15th Study - STL #1](https://reader034.vdocuments.site/reader034/viewer/2022042701/55c7dc7fbb61eb70658b4698/html5/thumbnails/12.jpg)
12
std::vector
std::deque
std::list
![Page 13: [KOSSA] C++ Programming - 15th Study - STL #1](https://reader034.vdocuments.site/reader034/viewer/2022042701/55c7dc7fbb61eb70658b4698/html5/thumbnails/13.jpg)
![Page 14: [KOSSA] C++ Programming - 15th Study - STL #1](https://reader034.vdocuments.site/reader034/viewer/2022042701/55c7dc7fbb61eb70658b4698/html5/thumbnails/14.jpg)
14
![Page 15: [KOSSA] C++ Programming - 15th Study - STL #1](https://reader034.vdocuments.site/reader034/viewer/2022042701/55c7dc7fbb61eb70658b4698/html5/thumbnails/15.jpg)
15
배열 std::vector
![Page 16: [KOSSA] C++ Programming - 15th Study - STL #1](https://reader034.vdocuments.site/reader034/viewer/2022042701/55c7dc7fbb61eb70658b4698/html5/thumbnails/16.jpg)
16
![Page 17: [KOSSA] C++ Programming - 15th Study - STL #1](https://reader034.vdocuments.site/reader034/viewer/2022042701/55c7dc7fbb61eb70658b4698/html5/thumbnails/17.jpg)
17
![Page 18: [KOSSA] C++ Programming - 15th Study - STL #1](https://reader034.vdocuments.site/reader034/viewer/2022042701/55c7dc7fbb61eb70658b4698/html5/thumbnails/18.jpg)
18
#include <vector> // 해더 파일
std::vector<int> vec; // 선언
vec.push_back(10); // 추가vec.pop_back(); // 삭제
vec.resize(10, 0); // 초기화 : 10의 크기를 0으로 채움vec[3] = 10; // 랜덤 접근
std::cout << vec[3] << std::endl; // 랜덤 접근
![Page 19: [KOSSA] C++ Programming - 15th Study - STL #1](https://reader034.vdocuments.site/reader034/viewer/2022042701/55c7dc7fbb61eb70658b4698/html5/thumbnails/19.jpg)
19
int nSum = 0;for (int i = 0; i < vec.size(); i++){
nSum += vec[i];}
// auto = std::iterator<std::vector<int>>for (auto it = vec.begin(); it != vec.end(); it++){
nSum += (*it);}
![Page 20: [KOSSA] C++ Programming - 15th Study - STL #1](https://reader034.vdocuments.site/reader034/viewer/2022042701/55c7dc7fbb61eb70658b4698/html5/thumbnails/20.jpg)
![Page 21: [KOSSA] C++ Programming - 15th Study - STL #1](https://reader034.vdocuments.site/reader034/viewer/2022042701/55c7dc7fbb61eb70658b4698/html5/thumbnails/21.jpg)
21
std::vector
![Page 22: [KOSSA] C++ Programming - 15th Study - STL #1](https://reader034.vdocuments.site/reader034/viewer/2022042701/55c7dc7fbb61eb70658b4698/html5/thumbnails/22.jpg)
22
![Page 23: [KOSSA] C++ Programming - 15th Study - STL #1](https://reader034.vdocuments.site/reader034/viewer/2022042701/55c7dc7fbb61eb70658b4698/html5/thumbnails/23.jpg)
23
#include <deque> // 해더 파일
std::deque<int> deq; // 선언
deq.push_back(10); // 뒤에 추가deq.pop_back(); // 뒤에 삭제deq.push_front(20); // 앞으로 추가deq.pop_front(); // 앞에 삭제
deq.resize(10, 0); // 초기화 : 10의 크기를 0으로 채움deq[3] = 10; // 랜덤 접근
std::cout << deq[3] << std::endl; // 랜덤 접근
![Page 24: [KOSSA] C++ Programming - 15th Study - STL #1](https://reader034.vdocuments.site/reader034/viewer/2022042701/55c7dc7fbb61eb70658b4698/html5/thumbnails/24.jpg)
24
int nSum = 0;for (int i = 0; i < deq.size(); i++){
nSum += vec[i];}
// auto = std::vector<int>::iteratorfor (auto it = deq.begin(); it != deq.end(); it++){
nSum += (*it);}
![Page 25: [KOSSA] C++ Programming - 15th Study - STL #1](https://reader034.vdocuments.site/reader034/viewer/2022042701/55c7dc7fbb61eb70658b4698/html5/thumbnails/25.jpg)
![Page 26: [KOSSA] C++ Programming - 15th Study - STL #1](https://reader034.vdocuments.site/reader034/viewer/2022042701/55c7dc7fbb61eb70658b4698/html5/thumbnails/26.jpg)
26
![Page 27: [KOSSA] C++ Programming - 15th Study - STL #1](https://reader034.vdocuments.site/reader034/viewer/2022042701/55c7dc7fbb61eb70658b4698/html5/thumbnails/27.jpg)
27
![Page 28: [KOSSA] C++ Programming - 15th Study - STL #1](https://reader034.vdocuments.site/reader034/viewer/2022042701/55c7dc7fbb61eb70658b4698/html5/thumbnails/28.jpg)
28
![Page 29: [KOSSA] C++ Programming - 15th Study - STL #1](https://reader034.vdocuments.site/reader034/viewer/2022042701/55c7dc7fbb61eb70658b4698/html5/thumbnails/29.jpg)
29
#include <list>
std::list<int> lst;
lst.push_back(5); // 5lst.push_back(10); // 5 -> 10lst.push_front(1); // 1 -> 5 -> 10
auto it = lst.begin(); // 첫번째 위치, it -> 1 -> 5 -> 10it++; // 두번째 위치, 1 -> it -> 5 -> 10auto at = lst.insert(it, 2); // 2 삽입, 1 -> at -> 2 -> it -> 5 -> 10lst.insert(at, 3); // 1 -> 3 -> at -> 2 -> it -> 5 -> 10lst.insert(it, 4); // 1 -> 3 -> at -> 2 -> 4 -> it -> 5 -> 10
for (auto iter = lst.begin(); iter != lst.end(); iter++)std::cout << (*iter) << '\t';
![Page 30: [KOSSA] C++ Programming - 15th Study - STL #1](https://reader034.vdocuments.site/reader034/viewer/2022042701/55c7dc7fbb61eb70658b4698/html5/thumbnails/30.jpg)
30
std::list<int> lstB;lstB.push_back(20); // 20lstB.push_back(30); // 20 -> 30
// 1 -> 3 -> at -> 2 -> 4 -> it -> 5 -> 10lst.insert(it, lstB.begin(), lstB.end());
// 1 -> 3 -> at -> 2 -> 4 -> 20 -> 30 -> it -> 5 -> 10
for (auto iter = lst.begin(); iter != lst.end(); iter++)std::cout << (*iter) << '\t';
std::cout << std::endl;