:: ADVANCE ::

[STL] vector 본문

Algorithm/Algorithm

[STL] vector

KSJ14 2016. 7. 4. 00:45
반응형

[STL] vector



생성자

vector v

vector v(n)       : 초기화된 n개의 원소를 가진 vector

vector v(n, x)    : x로 초기화된 n개의 원소를 가진 vector

vector v(v2)      : v2 복사본. (복사 생성자 호출) 

vector v(b, e)    : 반복자 구간 [b, e)로 초기화된 원소를 가진 vector


멤버 함수

v.assign(n, x)    : x값으로 n개의 원소를 할당

v.assign(b, e)    : 반복자 구간 [b, e)로 할당

v.clear()           : 모든 원소를 제거

q = v.erase(p)   : p가 가리키는 원소를 제거. q는 다음 원소를 가리킴

q = v.insert(p, x)    : p가 가리키는 위치에 x값을 삽입한다.



vector의 size()는 unsigned int 타입을 반환한다.

warning 없이 원소 참조나 size를 사용하려면

size_type을 사용하길 권장한다.


for( vector<int>::size_type i = 0; i < v.size(); i++)    {    v[i];    }


v[i] 와 v.at(i)는 성능은 같다.

하지만 []는 범위 점검 없이 동작하고 at()은 범위 점검을 하며 동작한다.

v.at(i)는 i가 0 <= i < size이면 i index의 참조를 반환하며 아니면 out_of_range 예외가 발생한다.

-> 원소 접근 속도를 아주 조금 높인다. ((빠름) [] > at())

반응형

'Algorithm > Algorithm' 카테고리의 다른 글

[Bit] bit 개수 세는 함수  (0) 2016.10.12
[BitMask] 에라토스테네스의 체  (0) 2016.07.17
[STL] 어댑터  (0) 2016.07.02
[STL] 알고리즘  (0) 2016.07.02
[STL] 컨테이너, 반복자  (0) 2016.06.30
Comments