2016-09-24 1 views
4

Rust 문서에 따르면 :녹 상자는 벡터에 추가되는 개별 항목입니까?

벡터는 항상 힙에 데이터를 할당합니다.

  • 녹 연속 방식으로 유형 T를 저장하기 위해 힙에 충분한 메모리를 할당합니다 :이 알고있는 것처럼

, 그것은 것을 의미한다.

  • 녹슬림 은 항목을 벡터에 배치 할 때 개별적으로 상자에 넣지 않습니다. 즉
  • Vec, 또한 그 정수를 상자 않을거야 그 정수를 저장하기에 충분한 저장 공간을 할당합니다 동안이 벡터에 몇 정수를 추가하는 경우; 간접 참조의 또 다른 계층을 소개합니다.

    코드 예제를 통해이를 설명하거나 확인하는 방법을 잘 모르겠지만 어떤 도움이 필요합니까?

    +2

    아니요. 옳은. –

    답변

    6

    , Vec<T>은 모든 항목을 개별적으로 묶는 대신 인접한 버퍼에 저장합니다. The documentation 상태 :

    연속 가변 장 배열 형, Vec<T> 작성하지만 발음 '벡터.'

    벡터를 슬라이스하여 &[T] (슬라이스)을 얻을 수도 있습니다. 연속 순서로 [T]

    동적으로 크기보기 : Its documentation 다시이를 확인한다.

    슬라이스는 포인터와 길이로 표현 된 메모리 블록의 블록으로의 뷰입니다.