#include<vector>
void main(
{
V = vector<int>;
V = {1,2,3,4}
}
vector<int> vecTmp;
vecTmp.push_back(1);
vecTmp.push_back(2);
vecTmp.push_back(3);
auto iter = find(vecTmp.begin(), vecTmp.back(), 2);
//2가 있는 인덱스의 이터레이터가 반환됨
vector<int> vecTmp = {1,2,3};
vector<int>::iterator iter;
iter = vecTmp.begin();
for (int& v : V)
{
v += 1;
}
//이후 V는 {2, 3, 4, 5} 가 된다.
int 같은 단순한 데이터면 상관없지만 클래스나 구조체처럼 무거운게 들어가면 속도 차이가 난다.
vector<int> Temp;
Temp.resize(Size);
int Input;
for(int i = 0; i < Size; ++i)
{
cin >> Input;
Temp.push_back(Input);
}
Temp.reserve(Size);
for(int i = 0; i < Size; ++i)
{
Temp.emplace_back();
cin >> Temp.back();
}
// 불필요한 복사/이동이 없다.
// 벡터 내부에서 바로 객체 생성 + 값 대입만 일어남
// 클래스의 경우라면 set함수롤 호출하거나 맴버변수에 cin 하는 형태가 되겠지?
class cCat
vector<cCat*> CatTower;
for(int i = 0; i < 5; ++i)
{
CatTower.push_back(new cCat);
}
//지우기
for (auto iter = CatTower.begin(); iter != CatTower.end();)
{
delete *iter;
iter = CatTower.erase(iter);
}
CatTower.clear();