인스턴스
(I 재귀 알고리즘과 종료 지점, 벡터의 객체가 null의 경우 재귀 함수가 리턴입니다 쓰고 있어요 때문에 나는 널 (null)를 확인하기 위해 필요) . 포인터 만.
그러나 사용할 수있는 크기()가 있습니다.
typedef stdd::vector<SomeClass> vec;
//define some vec, v
for (vec::size_type i = 0, s = vec.size(); i < s; ++i) {
//do something with v[i]
}
재귀 함수를 사용하면 최대 색인을 전달하여이 아이디어를 사용할 수 있습니다.
void recursiveFunc(vec& v, vec::size_type s);
그런 다음 재발 상태를 점검 할 때 "나는 벡터 끝에 있습니까?" 제대로 (그리고 현재 상황에서 가능한 경우),이 기본 데이터의 인식되지 않도록 조작을 분리 할 수 있다면 저장되는
template <typename Iterator>
void recursiveFunc(Iterator begin, const Iterator& end);
: 대신 인덱스 작업의
또는, 당신은 반복자를 사용할 수 있습니다 벡터에서.
루프
은 다음과 같을 것이다 벡터를 통해 이동 : @Corbin가 언급 한 바와 같이
while (begin != end) {
//do something with *begin
++begin;
}
"blank"객체를 포함하고 있는지 여부 (실제로는 기본으로 생성 된 인스턴스)는'resize (10)'또는'reserve (10)'중 무엇을 사용했는지에 따라 다릅니다. –