Std::지도,어떻게 삽입하는 작동하는 경우는 크기를 조정 컨테이너 그리고 메모리를 사용할 수 있습니까?

StackOverflow https://stackoverflow.com/questions/104483

  •  01-07-2019
  •  | 
  •  

문제

Std::지도,어떻게 삽입하는 작동하는 경우는 크기를 조정 컨테이너 그리고 메모리를 사용할 수 있습니까?

도움이 되었습니까?

해결책

STL 지도하지 않아"크기를 조정하"컨테이너입니다.지도(처럼 목록)의 노드 기반의 컨테이너각각 삽입 메모리를 할당합니다.

는 말했다,의 메모리 상황이 처리되는 다른 메모리 부족한 상황에서는 C++:그것은 발생하는 std::bad_alloc.STL 컨테이너 기본값으로 할당을 하지 않는 멋진 아무것도,그들은 모든 할당을 통한 새로운 표준/삭제 연산자 어떻게 든.

STL 지도의 경우 예외가 발생하고 그렇지 않으면 동작하지 않을 경우 호출됩니다.즉,컨테이너가 수정되지 않은 상태로 유지됩니다.

다른 팁

새로 예외가 발생합니다.기 쉽습니다.

삽입이 발생하지 않을,그리고 어느 것 콘텐츠의 사전 수정하거나 손상되었습니다.

을 확장하 Nils 답변(예 그것은 던지),그러나 어떻게 될 때 그것을 던져 혼란 때때로에서 사용할 것을 권장합니다.

에 17.2.2 의 사양(에 관한 맵/예외를 제외하고),경우 insert(),발생하는 기능을 효과가 없습니다.이것은 강력한 보장을 위한 지도입니다.이것과 다른 컨테이너를 사용한다 연속적인 할당 같은 벡터 또는 시스.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top