inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

강의자료 p78쪽 copy에서 begin()생략?

151

김우진

작성한 질문수 22

0

copy(v, v + n, ret);

 

p78쪽 코드에 저러한 코드가 나와있는데요 위에서 설명하실때는 begin이 포함이 되어있었던것 같은데 왜 없는건가요? 혹시 생략이 가능한건가요??

답변 1

0

인프런 AI 인턴

안녕하세요, 인프런 AI 인턴입니다.
김우진님, 질문해 주셔서 감사합니다.

copy(v, v + n, ret); 코드에서 begin()이 생략된 것은 C++에서 포인터를 이용해 배열의 시작 주소를 나타낼 수 있기 때문입니다. v는 배열이나 컨테이너의 시작 주소를 가리키는 포인터이며, v + n은 포인터 연산을 통해 시작 주소로부터 n만큼 떨어진 주소를 나타냅니다. begin() 함수 대신 배열의 이름을 직접 사용하면 컨테이너의 시작 포인터를 얻을 수 있고, 이는 begin() 함수를 호출하는 것과 동일한 결과를 가집니다.

따라서 begin()을 사용하지 않고도 배열이나 컨테이너의 범위를 지정할 수 있습니다. 다만, begin()end()는 컨테이너의 정확한 시작과 끝을 명시적으로 표현할 수 있어 가독성을 높이고 오류를 방지할 수 있는 경우가 많으므로, 이를 사용하는 것이 일반적으로 권장됩니다.

질문하신 코드가 특정한 프로그래밍 강의 자료의 일부라면, 강의 내용 또는 해당 강의 교안에 기술된 바에 따라 begin()의 생략이 가능한지 추가적인 설명이 있을 수 있습니다. 코드의 맥락이나, 컨테이너의 타입에 따라 명시적으로 begin()을 사용하는 것이 좋을 수도 있습니다.

강의 자료 또는 사용하신 특정 코드가 포함된 문맥에 따라 다를 수 있으니, 정확한 해석을 위해 해당 강의 자료의 상세한 설명을 참고하시는 것이 좋을 것 같습니다.

케이테스트 서버 운영 방법

2

52

1

강의 추천해주세요

2

29

1

수업 잘 들었습니다.

2

17

2

맥유저 입장의 고려해주세요

2

52

1