2
왜 두 C++ STL 벡터의 내용을 해당 벡터의 크기와 독립적으로 교환하려면 시간 복잡성이 필요합니까?C++에서 벡터에 대한 상수 시간 스왑 논리 STL
참조 : http://www.cplusplus.com/reference/vector/vector/swap/
왜 두 C++ STL 벡터의 내용을 해당 벡터의 크기와 독립적으로 교환하려면 시간 복잡성이 필요합니까?C++에서 벡터에 대한 상수 시간 스왑 논리 STL
참조 : http://www.cplusplus.com/reference/vector/vector/swap/
전형적인 벡터 구현 상점 :
swap()
은 간단히 포인터를 교환하고 allocator_traits<allocator_type>::propagate_on_container_swap::value
이 true이면 할당 자입니다. 그것은 요소 와이즈 스왑을하지 않습니다. 사실 std::array
이외의 표준 컨테이너는 요소 단위로 스왑을 수행 할 수 없습니다.
그들은 기본 데이터 ... (및 개수/용량 변수)에 대한 포인터를 바꾸기 때문에 – Borgleader