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

사랑해요인프런님의 프로필 이미지
사랑해요인프런

작성한 질문수

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

vector #2

다른함수에 vector 전달

작성

·

462

0

안녕하세요. 

vector를 다른함수에 iterator를 사용해 매개변수로 전달하려고 하려고 합니다.

여기서 vector의  size는 it에 없고(v.size()처럼 it.size()를 사용햅 보려 했는데 안되더라고요) 또 다른 매개변수로 전달을 해주어야 하나요?

답변 1

1

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

iterator는 일종의 포인터처럼 특정 데이터를 '가리키는' 용도이지,
전체 벡터를 관리하는 애가 아닙니다.
따라서 size는 별도의 인자로 받아주시면 됩니다.

다만 살짝 디테일인데, iterator와 size를 넘겨받을 경우
ShowNumber라는 함수가 사용하기 매우 위험한 애가 되겠죠.
(nSize를 잘못 입력하면, 바로 크래시 나는 상황)
따라서 vector<int>& 자체를 넘겨주거나,
v.begin(), v.end()와 같이 iterator 짝을 넘겨주는게 더 좋아 보이긴 합니다.

사랑해요인프런님의 프로필 이미지
사랑해요인프런

작성한 질문수

질문하기