스택 저장소와 함께 STL 벡터 사용
문제:
C 벡터와 유사한 찾기 힙 대신 스택 저장소를 활용하는 클래스입니다.
해결책:
Chromium의 stack_container.h는 요구 사항에 완벽하게 맞는 StackVector 클래스를 제공합니다. 일반 벡터와 거의 동일하게 동작하지만 스택에 데이터를 할당합니다.
사용법:
<code class="cpp">char buffer[4096];</code>
<code class="cpp">stack_vector<match_item> matches(buffer, sizeof(buffer));</code>
또는 클래스에서 내부적으로 버퍼를 할당할 수 있습니다.
<code class="cpp">stack_vector<match_item, 256> matches;</code>
<code class="cpp">typedef std::pair<const char *, const char *> comp_list_item; static const size_t comp_list_alloc_size = 128; typedef StackAllocator<comp_list_item, comp_list_alloc_size> comp_list_alloc_type;</code>
<code class="cpp">comp_list_alloc_type::Source match_list_buffer; comp_list_alloc_type match_list_alloc(&match_list_buffer); comp_list_type match_list(match_list_alloc);</code>
<code class="cpp">match_list.reserve(comp_list_alloc_size);</code>
이점:
위 내용은 C에서 스택 기반 벡터를 사용하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!