C에서 std::Vector의 용량 축소
C에서 벡터 작업을 할 때 알 수 없는 숫자를 삽입해야 하는 경우가 종종 있습니다. 런타임 시 값. 그러나 이러한 값을 삽입하면 벡터에 초과 용량이 유지될 수 있습니다. 이 용량을 줄이면 메모리 효율성과 성능이 향상될 수 있습니다.
벡터의 용량을 줄이기 위해 C 11에서는 Shrink_to_fit() 멤버 함수를 도입합니다. 초안 표준 섹션 23.2.6.2에 설명된 대로 이 방법은 다음과 같습니다.
is a non-binding request to reduce capacity() to size(). <em>[Note: The request is non-binding to allow latitude for implementation-specific optimizations. —end note]</em>
따라서 벡터의 용량을 현재 크기와 일치하도록 줄이기 위해 컴파일러에 비구속적 요청을 하는 방법을 제공합니다. 사용하지 않는 메모리를 확보하고 효율성을 향상시킵니다.
벡터의 크기를 수동으로 조정하여 추가 복사 작업을 피할 수 있지만,shrink_to_fit()은 보다 우아하고 효율적인 솔루션. 이 방법은 C 11 구현 외부에서는 이식할 수 없다는 점에 주목할 가치가 있지만 C 11 기능을 지원하는 GCC를 사용하는 경우 이식성 부족은 문제가 되지 않습니다.
위 내용은 C std::벡터의 용량을 어떻게 줄일 수 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!