.h
1. 벡터선언
#pragma once
#include<iostream>
#include<vector> //1.
using namespace std;
class Test01
{
private:
vector<int> _vNum; //2.
vector<int>::iterator _vInum; //3.
public:
Test01();
~Test01();
}
0. STL 컨테이너 중 벡터는 배열 기반의 컨테이너
1. 벡터 선언
2. int 타입의 벡터 변수 선언
3. iterator == 반복자
.cpp
2. .push_back()
#include "Test01.h"
Test01::Test01()
{
_vNum.push_back(1); //4.
_vNum.push_back(2); //5.
for(int i = 0; i < 5; i++)
{
_vum.push_back(i*10); //6.
}
}
1.push_back();
2.벡터 컨테이너에 값을 넣을때 사용.
3.푸시백을 할 경우 용량을 1:2로 잡아뒀는데 이젠 가성비가 좋은 1:1.5를 사용한다함
4.1번 컨테이너에 1의 값을 저장.
5.2번 컨테이너에 2의 값을 저장.
6. 반복문으로 3~7번 컨테이너까지 0,10,20,30,40 값을 저장
7. 배열과 비슷하지만 배열과는 다르게 주소를 입력할 필요없이 순서대로 들어간다.
3. .pop_back();
_vNum.pop_back();
1. .pop_back();
2. 벡터 컨테이너의 값을 뒤에서부터 순차적으로 지움.
3.이 경우 {1,2,0,10,20,30,40} 중 제일 뒤에 있는 40을 지움
4. .insert() , .begin() , end()
_vNum.insert(_vNum.begin() + 6, 777);
_vNum.insert(_vNum.end() - 2, 123);
1. .insert(컨테이너 번호,넣을 값)
2. 지정된 위치에 지정한 값을 삽입함.
3. .begin() : 벡터의 시작점.
4. .end() : 벡터의 끝.
5. 이와 같은 경우엔 7번 위치에 777값을 넣고
6. 8개가 됬으니 9 - 2 그러니까 7의 위치에 123의 값을 넣음
7. 그렇다. 그 주소의 값을 지우고 넣는게 아니라 다음 컨테이너로 강제이주시킨다!
8. {1,2,0,10,20,30,123,777,40} 이 된다.
5. .erase()
vNum.erase(_vNum.begin()+3);
1. .erase(컨테이너 번호);
2. 지정된 컨테이너의 값을 지워버림.
3. 이 경우 4번째 컨테이너가 지워져서 {1,2,0,20,30,123,777,40} 가 됨
6. .clear()
_vNum.clear();
1. .clear();
2. 벡터를 치워버림.
7. size()
_vNum.size();
for(int i = 0; i = _vNum.size();i++)
{
cout << _vNum[i] << endl;
}
1. .size();
2. 벡터의 사이즈를 알려주는 함수
3. for문에 돌려서 벡터의 값을 출력가능!