강의

멘토링

로드맵

인프런 커뮤니티 질문&답변

언리얼컨설팅님의 프로필 이미지
언리얼컨설팅

작성한 질문수

[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part1: C++ 프로그래밍 입문

vector #2

iterator의 end()에 대해

작성

·

223

0

iterator의 end()함수가 왜 마지막 요소가 아닌 마지막 다음을 가리키는지 이유가 궁급합니다!

뭔가 그렇게 설계한 이유가 있을것 같은데 혹시 그런 이유가 있을까요?

문득 생각난건 연결리스트를 처음 설계할때 노드(Node) 설계 부분에서 헤드 노드를 만드냐 안만들고 하냐 등등의 차이로 설계방식이 달라지는것처럼 iterator도 헤드 노드를 따로 만들어놨던게 아닐까 싶은데 혹시 이유가 있을까요?

퀴즈

C++ STL Vector가 일반 배열보다 가지는 가장 큰 장점은 무엇일까요?

메모리 접근 속도가 훨씬 빠릅니다.

크기가 자동으로 늘어나고 줄어듭니다.

중간 요소 삽입/삭제가 매우 효율적입니다.

데이터를 정렬된 상태로 유지합니다.

답변 1

1

Rookiss님의 프로필 이미지
Rookiss
지식공유자

단순히 end()는 '없음'을 뜻하기에
사실 유효한 데이터 주소가 아닌 어떤 애라도 크게 상관 없을 것 같습니다만,
정확히 그렇게 설계된 이유에 대해서는 저도 모르겠네요.

언리얼컨설팅님의 프로필 이미지
언리얼컨설팅

작성한 질문수

질문하기