C++/Library
2021. 3. 12. 17:31
vector
<vector>
라이브러리
기본 예제
push_back
함수로 벡터의 맨 뒤에 원소를 추가할 수 있다.foreach
로 반복문을 작성할 수 있다. (iterator
가 존재하기 때문에 사용 가능)#include <iostream> #include <vector> int main() { using namespace std; vector<int> vec; for (int i = 0; i < 10; ++i) vec.push_back(i); for (auto& e : vec) cout << e << ' '; cout << endl; } /* stdout stderr 0 1 2 3 4 5 6 7 8 9 */
멤버 함수
size()
와 capacity()
size
는 실제 사용하고 있는 공간이고,capacity
는 할당받은 전체 공간이다.#include <iostream> #include <vector> int main() { using namespace std; vector<int> v{ 1,2 ,3 }; v.resize(2); for (auto& e : v) cout << e << ' '; cout << endl; cout << v.size() << ' ' << v.capacity() << endl; int* pv = &v[0]; cout << pv[2] << endl; } /* stdout stderr 1 2 2 3 3 */
reserve()
공간을 미리 할당받는 것
#include <iostream> #include <vector> int main() { using namespace std; vector<int> v{ 1,2 ,3 }; v.reserve(100); for (auto& e : v) cout << e << ' '; cout << endl; cout << v.size() << ' ' << v.capacity() << endl; } /* stdout stderr 1 2 3 3 100 */
참고
'C++ > Library' 카테고리의 다른 글
C++ chrono (0) | 2021.03.16 |
---|---|
C++ assert (0) | 2021.03.12 |
C++ tuple (0) | 2021.03.12 |
C++ array (0) | 2021.03.11 |
C++ typeinfo (0) | 2021.03.11 |