• 카테고리

    질문 & 답변
  • 세부 분야

    게임 프로그래밍

  • 해결 여부

    미해결

다른함수에 vector 전달

22.02.08 11:22 작성 조회수 375

0

안녕하세요. 

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

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

답변 1

답변을 작성해보세요.

1

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

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