728x90
반응형
1. Vector란?
자동으로 메모리가 할당되는 배열
vector를 생성하면 heap 메모리에 동적으로 할당된다.
사용할때 #include <vector> 를 해줘야 하고
namespace std 를 사용해야 한다.
2. Vector 생성
vector<type> v1 | vector 생성 |
vector<type> v2(n) | n개의 원소를 가진 vector생성 |
vector<type> v3(n, val) | val값인 n개의 원소 vector생성 |
vector<type> v4(v3) | v3을 복사하여 v4를 생성 |
vector<int> v1; // vector 생성
vector<int> v2(3); // 3개의 원소를 가진 vector 생성 자동으로 0으로 초기화 해준다.
vector<int> v3(5, 1); // 1의 값을 가진 5개의 원소 생성
vector<int> v4(v3); // v3를 복사하여 v4를 생성
3. 멤버 함수
v.front() | 처음 원소 참조 |
v.back() | 마지막 원소 참조 |
v.clear() | 모든 원소를 제거 |
v.size() | 벡터의 원소 갯수 반환 |
v.capaticy() | 벡터의 크기 반환 |
v.reserve(n) | n만큼의 메모리 할당 |
v.resize(n) | n만큼의 요소생성과 메모리 할당 |
v.push_back(n) | 벡터 마지막에 x삽입 |
v.pop_back() | 벡터 마지막 요소 제거 |
v.empty() | 벡터가 비어있는지 bool형 데이터 반환 |
v.begin() | 첫번째 원소를 가리키는 iterator 반환 |
v.end() | 마지막 원소 다음을 가리키는 iterator 반환 |
v.erase(iterator) | iterator 위치의 원소 제거 |
4. iterator
iterator를 사용해서 값 확인하기 iterator는 포인터처럼 사용할 수있어서 역참조를 한다
vector<int> v;
vector<int>::iterator iter;
v.push_back(1);
v.push_back(2);
v.push_back(3);
v.push_back(4);
v.push_back(5);
for (iter = v.begin(); iter != v.end(); ++iter)
{
cout << *iter << " ";
}
전위증감을 하는 이유!!
전위증감은 자기 자신을 증감시키고 래퍼런스를 반환한다.
하지만 후위증감은 임시변수를 복사한 후 증감시키고 반환한다.
그래서 전위증감이 더 효율적이라 전위증감을 사용한다.
728x90
반응형
'C++' 카테고리의 다른 글
C++ Bubble sort (0) | 2021.12.24 |
---|---|
C++ 배열로 stack 구현해보기 (0) | 2021.12.21 |
C++ 피보나치 수열 구현하기 (1) | 2021.12.21 |
C++ malloc/free 와 new/delete의 차이 (0) | 2021.12.20 |