[C++] 반복자(iterator)
·
C++
1. 반복자 구조반복자(iterator)는 포인터를 추상화한 것입니다. 포인터는 C++이 제공하는 문법이므로 추가적인 제한을 걸거나 기능을 추가할 수 없지만 반복자라는 객체로 포인터를 추상화하면, 추가적인 제한을 걸거나 기능을 추가할 수 있습니다.또한 반복자를 사용하면 컨테이너의 내부 구조를 사용자에게 숨기고, 사용만 하게 만들 수 있습니다. 대부분의 컨테이너는 내부적으로 조작할 수 없는 내부 반복자를 갖고 있습니다. 그리고 사용자는 외부 반복자를 사용해서 컨테이너 내부의 요소에 접근합니다. 내부 반복자는 외부 반복자를 처리할 때 사용됩니다. 2. 반복자 종류반복자는 입력 반복자, 출력 반복자, 전방 반복자, 양방향 반복자, 임의 접근 반복자로 구분합니다.입력 반복자입력 반복자(input iterator..
[C++] Pass by value와 Pass by reference
·
C++
호출되는 함수에 매개변수가 존재한다면, 함수 호출 때의 값(argument)이 호출되는 함수의 매개변수(parameter)로 전달됩니다. 자료 전달은 값으로 전달(pass-by-value), 참조로 전달(pass-by-reference), 포인터로 전달(pass-by-pointer)의 3가지 메커니즘으로 구분합니다. 1. 값으로 전달(pass-by-value)인수(argument)의 값이 복사되어서 매개변수(parameter)에 할당됩니다. 이는 호출되는 함수 쪽에서 인수를 변경하지 않게 만들고 싶을 때 사용되며 ‘읽기 전용 접근(read-only access)’라고 표현하기도 합니다./************************************************************** * 값..