3
std::list
또는 std::forward_list
항목을 할당하면 해당 항목이 삭제 될 때까지 동일한 메모리 위치 (주소)에 남아있게됩니까? 물론 목록 자체가 복사되는 경우는 제외됩니다. 당신이 요소를 파괴하지 않는 모든 기능 (등 insert, emplace, push_back를, ...)의 설명서를 보면std :: list는 항목이 다른 메모리 위치로 이동되지 않도록 보장합니까?
이동할 수 있으면 포인터에 대한 포인터가 모두 무효화되지 않습니까? 그것은 일어날 수있는 것처럼 들리지 않습니다. –
@TrippKinetics : 정확히 말하자면. 나는 항상'std :: list' 인터페이스를 통해 아이템에 접근하는 것과는 대조적으로 노드에 대한 직접 포인터를 저장하는 것이 안전한지 알고 싶다. –
[이 질문에 대한] 대답 (http://stackoverflow.com/q/16027044/3549027)은'insert'와'remove'가 반복자를 무효화하지 않을 것이라는 것을 확인했습니다. 그러나 이것은 질문에 대한 완전한 답이 아닙니다. IMO ... – dlf