>  기사  >  백엔드 개발  >  std::벡터를 실제 크기로 축소하는 방법: 스왑 트릭 설명

std::벡터를 실제 크기로 축소하는 방법: 스왑 트릭 설명

Barbara Streisand
Barbara Streisand원래의
2024-10-26 07:05:03420검색

How to Shrink a std::vector to its Actual Size: The Swap Trick Explained

std::Vector 축소: 스왑 트릭

예약된 공간이 없을 때 std::Vector의 용량을 줄이려면 더 이상 필요하지 않으면 Scott Meyers가 그의 저서 "Effective STL"에서 권장하는 "스왑 트릭"을 사용할 수 있습니다. 작동 방식은 다음과 같습니다.

  1. 원하는 용량으로 새 벡터를 만듭니다.
vector<Person> new_persons(size_of_new_vector);
  1. 내용을 바꿉니다. 원본 벡터와 새 벡터의 조합:
new_persons.swap(persons);

스왑을 수행한 후 원래 벡터인 사람은 "맞게 축소"됩니다. 즉, 스왑에 필요한 메모리만 차지합니다.

이 기술은 복사되는 요소에만 메모리를 할당하는 벡터의 복사 생성자를 활용하여 원본 벡터의 초과 용량을 효과적으로 줄입니다.

위 내용은 std::벡터를 실제 크기로 축소하는 방법: 스왑 트릭 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.