"일꾼이 일을 잘하려면 먼저 도구를 갈고 닦아야 한다." - 공자, 『논어』.
첫 장 > 프로그램 작성 > C ++의 다른 컨테이너의 반복자를 비교하는 것이 유효합니까?

C ++의 다른 컨테이너의 반복자를 비교하는 것이 유효합니까?

2025-03-25에 게시되었습니다
검색:958

Is It Valid to Compare Iterators from Different Containers in C  ?

다음 코드를 고려하십시오. std :: vector bar; std :: cout 표현식 foo.begin () == bar.begin ()가 거짓을 얻거나 정의되지 않은 동작으로 이어지는 c 11 표준 (n3337)으로 파견 될 수 있습니다. 딜레마 :

반복자 동일한 시퀀스 내에서 반복자

std::vector foo;
std::vector bar;
std::cout  

에 도달 할 수있는 유한 한 시퀀스가 ​​존재하는 경우, i에 도달하는 경우, i를 참조하여 i를 참조하여 I j. 시퀀스.
  • 다른 컨테이너의 반복자 비교

이 섹션을 비교하는 데 사용될 수 있습니다. 시퀀스.

이러한 요구 사항에 따라 다른 컨테이너의 반복자를 비교하는 것은 정의되지 않은 동작입니다. 비교 함수 또는 이진 - 연산자를 간접적으로 평가하여 두 개의 다른 범위 R1과 R2 [...]에서 얻은 인수로서 하나의 공통 범위의 서브 랑이 아닌 다른 범위의 서브 랑이 아닌 인수로서 명시 적으로 설명되지 않는 한, "

Is It Valid to Compare Iterators from Different Containers in C  ?

는 뚜렷한 행동과 비교할 때 결정적이지 않다는 결론을 내립니다. 코드에서 컨테이너 조작.

최신 튜토리얼 더>

부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.

Copyright© 2022 湘ICP备2022001581号-3