다양한 STL 이 있지만 그 중 가장 많이 자주 사용하는 stack과 vector를 살펴 보겠습니다.!
STL - stack
STL (Standard Template Library) 은 C++에서 제공하는 표준 라이브러리
#include <iostream>
#include <stack> // stack 사용을 위해 해당 header추가 해야함.
int main()
{
std::stack<int> s; // 클래스 탬플릿으로 되어 있어 input type을 적어줘야 함.
s.push(10);
s.push(20);
s.push(30);
std::cout << s.top() << std::endl; // 30
std::cout << s.top() << std::endl; // 30
s.pop();
std::cout << s.top() << std::endl; // 20
}
https://en.cppreference.com/w/cpp/container/stack
STL - vector
C배열의 단점은 크기 변경할 수 없다.
STL vector는 배열과 유사하게 연속된 메모리를 사용하는 컨테이너
배열과 동일하게 [] 연산 사용이 가능하다.
resize 멤버 함수를 통해 크기 조절이 가능하다.
#include <iostream>
#include <vector>
int main()
{
//int x[10] = {1,2,3,4,5,6,7,8,9,10};
//std::vector<int> x;
//std::vector<int> x(10); //
std::vector<int> x = {1,2,3,4,5,6,7,8,9,10}; //
x[0] = 10;
x.resize(20);
for( int i = 0; i < x.size() ; i++)
std::cout << x[i] << std::endl;
}
https://en.cppreference.com/w/cpp/container/vector
'C++' 카테고리의 다른 글
[C++] 생성자, 소멸자, 위임 생성자, default 생성자 (0) | 2021.08.19 |
---|---|
[C++] 객체지향 : 접근지정자 private, public, friend (0) | 2021.08.18 |
[C++] 객체 지향 프로그래밍 OOP (0) | 2021.08.16 |
[C++] 동적메모리 할당 (new, delete), nullptr (0) | 2021.08.15 |
[C++] Explicit Casting (명시적 캐스팅) (0) | 2021.08.14 |
댓글