728x90
반응형
STL 이란,
C++에서 제공하는 표준 템플릿 라이브러리(Standard Template Library)로
자료구조, 알고리즘 등을 편하게 사용할 수 있도록 해주는 라이브러리이다.
STL 은 크게 container, iterator, algorithm 으로 구성되는데
Container는 순차 컨테이너(sequence container), 연관 컨테이너(associative container)가 있다.
Sequence Container중 대표적인 것이 바로 Vector이다.
다음 예제는 Vector에서 가장 많이 사용되는 함수들이다.
#include <vector>
// 구조체: 사용자 정의 자료형
typedef struct DATA
{
CTime time;
double fVal1;
double fVal2;
DATA()
{
Init();
}
void Init()
{
fVal1 = 0;
fVal2 = 0;
}
void Set(v1, v2)
{
fVal1 = v1;
fVal2 = v2;
}
}DATA;
// 벡터 선언 및 초기화
vector<DATA> vec1;
vec1.clear();
// 벡터에 들어갈 변수 생성
DATA data;
data.Set(0.1, 0.11);
// 벡터에 삽입
vec1.push_back(data);
// 벡터의 사이즈 반환
int n = vec1.size();
// 벡터에 저장되어있는 모든 값을 차례로 반환
for(int i=0; i<vec1.size(); i++)
{
data = vec1[i];
}
주의해야할 점은 벡터는 스택에 쌓이기 때문에
사용 후 반드시 메모리를 해제해야한다는 점이다.
// 초기화
vec1.clear();
// 메모리 해제
std::vector<DATA>().swap(vec1);
728x90
반응형
'응용 프로그램 개발 > C++, MFC, Windows' 카테고리의 다른 글
[MFC] CString 과 숫자간 변환 (0) | 2020.12.17 |
---|---|
[C++] C++ STL, 맵 (CMap) 예제 (0) | 2020.12.15 |
[C++] C++ 표준 템플릿 라이브러리 (STL) :: Container (0) | 2020.12.14 |
[VisualStuio] Sqlite3.dll을 찾을 수 없음 오류가 발생했습니다. (0) | 2020.12.11 |
[VisualStudio] cannot open file 오류 해결 (0) | 2020.12.11 |