카테고리 없음
벡터(vector)와 와 리스트(list) 차이
지창준
2024. 1. 29. 08:59
벡터 = 배열 기반으로 연속된 메모리 공간을 가지고 있다
생성시 메모리 heap에 생성되며 동적 할당 됨
(인덱스 값을 증가시키는 것(간단한 방식)으로 접근이 가능)
vector<string> v;로 선언
v[]로 배열처럼 접근 가능
리스트 = 노드 기반 컨테이너 (c언어의 링크드 리스트와 비슷)
연속된 메모리 공간이 아닌 현재 가리키고 있는 노드와 다음 노드의 주소를 알기때문에 갱신하는 방식
(인덱스로 접근 하는 방식 불가)
erase()
리스트의 데이터 삭제
pop_front();
리스트 앞의 데이터 삭제
+)
배열과 벡터의 차이
배열은 크기가 고정, 벡터는 동적으로 변함
(저장할 데이터의 개수를 미리 알 수 없다면 벡터가 유용)
+)
iterator
배열의 요소를 가르키는 포인터
벡터에서 bdgin함수는 배열의 처음 주소를 반환하는 함수
*iterator -> 포인터 느낌