1
개체가있는 std::list
두 개가 있습니다 (source_list
및 new_list
). 목표는 new_list
에서 position_at_source_to_adding_new_from
및 steps_between_new
으로 시작하는 source_list
에 개체를 추가하는 것입니다. cpp std :: list 스테핑을 사용하여 새 요소 추가
steps
의 문제
source_list
짧은에 수 있으며
new_list
가 될 수 있습니다 대형 (또는
steps
큰까지)과에
std::advance(it, steps_between_new)
반복자를 수행하는
source_list
의 범위를 넘어 갈 수와는
undefined behavior
될 때.
std::advance
전후에 반복기를 확인하여 범위에 있는지 확인하는 방법은 무엇입니까? 그리고 new_list
에 더 많은 객체가있을 때 그 객체 사이에 단계를 추가 할 수 있습니다. 객체를 소스 목록의 끝에 간단하게 추가해야합니다.
ps. 나의 영어에 유감스럽게 생각한다, 모국어가 아니라에 설명하는 것이 어렵다. 어떤 수정도 내 텍스트를 환영합니다. 감사.
가능한 반복자 [반복자가 overpass end()를 사용하지 않도록하는 방법?] (http://stackoverflow.com/questions/3856416/how-to-make-sure-iterators-do-not-overpass-end) – Jon
@ 존 아니, 왜냐하면 두 가지의 크기를 고려하여 설명한대로 두 목록을 병합하는 가장 좋은 방법을 찾는 작업이 있기 때문입니다. 뿐만 아니라 '어떻게 오버 패스 (overpass)하지 않습니까?'. – abrahab
그럼 그 질문에 대한 답을 읽고 도움을받지 못했습니까? – Jon