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

김상민님의 프로필 이미지
김상민

작성한 질문수

10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트

Array에 copy()함수를 쓰는 부분에서 질문있습니다.

해결된 질문

작성

·

125

0

copy의 인자로 v, v+5, ret을 넣는데
원래 copy(InputIterator first, InputIterator last, OutputIterator result)
이렇게 이터레이터가 들어가야 하잖아요
array to pointer decay 때문에 그냥 v를 넣으면 되는 건가요?
포인터로 선언을 시켜주지 않아도 이터레이터가 들어가야 할 자리에 인자로 넣어주면 이런 현상이 일어나는건지 궁금합니다!

답변 1

1

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

안녕하세요 상민님 ㅎㅎ

array to pointer decay 때문에 그냥 v를 넣으면 되는 건가요?

>> 네 맞습니다. 해당 특성 때문에 v는 &v[0]의 의미를 가집니다.

그렇기 때문에 v, v + 5라는 것은.

&v[0], &v[0] + 5

가 되기 때문에 그렇게 넣어도 됩니다.

 

또 질문 있으시면 언제든지 질문 부탁드립니다.

좋은 수강평과 별점 5점은 제게 큰 힘이 됩니다. :)

감사합니다.

강사 큰돌 올림.


김상민님의 프로필 이미지
김상민

작성한 질문수

질문하기