나무 숲

[C++ STL] vector 튜토리얼 (2) - 함수 Function 본문

Career

[C++ STL] vector 튜토리얼 (2) - 함수 Function

wood.forest 2017. 6. 7. 22:21

https://www.tutorialspoint.com/cpp_standard_library/vector.htm

이곳을 기반으로 번역, 이해, 연습했습니다.



실제로는 사용 가능한 함수가 훠얼씬 더 많지만 유용하다, 자주 사용될 것 같다~는 것만 추렸습니다.

그런데도 너무 많은 듯 하여 두 가지로 나누었습니다..



-


<vector>

Function



할당


assign


이전의 값을 새로운 값으로 할당합니다. 필요하다면 벡터의 크기가 변경됩니다.




fill version

assign(n, val)

n : 벡터의 크기

val : 각 원소의 값



Initial size  = 0

Modified size = 5

100

100

100

100

100

>>초가 벡터가 할당을 통해 크기5의, 원소 100을 5개 가진 컨테이너가 되었습니다.




range version

assign(first, last)

first : 범위의 초기 위치 iterator반복자

last : 범위의 마지막 위치 iterator반복자



Initial vector contents
100
100
100
100
100
Modified vector contents
100
100

>>초기 벡터가, 일정한 범위만을 할당받아, 크기가 줄어들었습니다.




initializer list version

assign(ilist)

ilist : 벡터에 값을 할당할 initializer list



1

2

3

4

5
















vector 컨테이너 내에서의 위치


at

at(n)

n : 컨테이너에서 얻고자 하는 원소의 위치(인덱스)

해당 위치의 원소를 반환합니다. 지정된 범위를 넘어가면 예외 처리됩니다.



1

2

3

4

5






front

front()

벡터의 가장 첫 번째 원소를 반환합니다.



Last element of vector = 5








back

back()

벡터의 가장 마지막 원소를 반환합니다.



First element of vector = 1












vector 컨테이너의 크기


capacity

capacity()

할당된 저장소의 크기를 반환합니다. 벡터에 들어갈 수 있는 원소의 갯수를 의미하는데, 이러한 저장소의 크기는 std::vector header의 max_size에 정의되어 있어 아래 예제와는 다른 값이 나올 수 있습니다.




size

size()

현재 벡터 안의 원소들의 갯수를 반환합니다.



Number of elements in vector = 5

Capacity of vector           = 8








shrink_to_fit

shrink_to_fit()

컨테이너가 크기를 맞추기 위해, capacity용량을 줄이도록 합니다.



Initial capacity = 128

Capacity after resize = 128

Capacity after shrink_to_fit = 25








empty

empty()

벡터가 비어있다면 true, 아니라면 false를 반환합니다.



Vector v1 is empty

Vector v1 is not empty








resize

resize(n, val)

n : 컨테이너의 새로운 크기

val : 컨테이너 원소들의 초기값



Initial vector size = 0

Vector size after resize = 5

Vector contains following elements

10

10

10

10

10





728x90
반응형

'Career' 카테고리의 다른 글

gcc 명령어  (0) 2017.07.06
컴퓨터 과학의 주요 분야  (0) 2017.06.16
물리층 - 데이터&신호  (0) 2017.06.06
라우터 Router에 대해  (0) 2017.06.05
[인물] 리처드 스톨먼  (0) 2017.06.01
Comments