Skip to main content

벡터 반복자 란 무엇입니까?

벡터 반복자는 프로그램이 벡터라는 특수 컬렉션에 포함 된 데이터 값을 읽을 수있는 컴퓨터 언어 구성입니다.벡터는 배열 및 목록과 유사한 관련 데이터 값을 그룹화하는 데 사용되는 객체입니다.많은 다른 컴퓨터 언어, 특히 Java 및 C ++에는 벡터 및 관련 반복자가 포함되어 있습니다.각 언어는 반복자에 대해 다른 구문을 사용하지만 모든 언어의 기본 메커니즘은 벡터 그룹의 가능한 각 구성원에 대한 개별 액세스입니다.벡터 반복자를 사용하여 벡터 수집에서 특정 객체를 명시 적으로 식별 할 수도 있습니다.이 식별이 수행되면 객체는 객체 자체의 어떤 특성이 아니라 벡터의 인덱스로 식별됩니다.반복자가 복제 된 경우 객체에 대한 작업을 수행 할 수있어 벡터가 아닌 객체에 대한 명시 적 액세스 권한을 부여합니다.벡터는 해체 될 때 본질적으로 영광스러운 배열이지만, 벡터는 거의 항상 벡터 반복기가 적절한 지수로 유지되도록하는 일부 유형의 경계 검사를 가지고 있습니다.벡터를 통과 할 때 반복기는 올바르게 호출되면 항상 벡터의 시작 부분에서 시작하여 정확히 끝에서 끝납니다.특정 상황에서는 잘못된 인덱스의 명시 적 사양이 여전히 가능하지만 반복자로 변환되는 벡터의 내장 된 경계 검사는 범위 오버플로 문제를 방지합니다. c ++에서 벡터를 반복자에 의해 통과하는 동안 벡터를 수정할 수 있습니다.그러나 Java는이 일이 일어나지 않도록 명시 적으로 금지합니다.반복기가 움직이는 동안 벡터를 변경하면 반복자가 실수로 벡터 외부를 읽게 할 수 있기 때문에이 상황에서 Javas 동작이 훨씬 안전합니다.반복하는 동안 벡터에서 항목을 추가하거나 제거하려고 시도하는 것은 특히 위험합니다. 특히 시작 및 종료 지수가 벡터가 덮어야하는 경우 하드 코딩 된 경우.벡터 반복자는 벡터의 갑작스런 변화를 처리 할 수 없으며 벡터는 상대적으로 정적이어야합니다.효율로 코딩 되었음에도 불구하고 벡터 반복기는 매우 큰 벡터에 의해 느려질 수 있습니다.이 경우 벡터의 최종 인덱스를 하드 코딩하면 트래버스 속도가 높아집니다.이 문제는 작은 벡터에서는 발생하지 않으므로 최종 인덱스를 하드 코딩해도 상당한 속도가 유발되지 않습니다.하드 코딩 끝 인덱스는 오버플로의 위험을 높일 수 있으므로 일반적으로 드물게 수행해야합니다.