C++/C++
[C++] vector
MaxLevel
2022. 11. 1. 23:42
vector의 멤버함수 capacity는, 현재 메모리의 재할당없이 몇개의 원소를 집어 넣을 수 있느냐를 알려주고,
size()는 실제로 원소가 몇개 들어가있는지를 알려준다.
capacity이상으로 원소를 집어넣으려 할 경우 내부적으로 메모리의 재할당이 이루어진다.
재할당 크기는 약 1.5배이다.
capacity가 늘어난 이후에는 원소를 삭제하더라도 capacity가 줄어들지는 않는다.
vector의 원소를 얻으려할 때 []연산자와 at연산자를 사용하는 방법이 있다.
[]연산자는 범위검사를 하지않고, at연산자는 범위검사를 한다.
이런게 으레 그렇듯, 범위검사를 하는 at보다는 그냥 []이 조금 더 빠르긴 하다.