> 백엔드 개발 > C++ > 어떤 C 11 표준 라이브러리 컨테이너를 사용해야 합니까?

어떤 C 11 표준 라이브러리 컨테이너를 사용해야 합니까?

Susan Sarandon
풀어 주다: 2024-12-06 05:50:15
원래의
332명이 탐색했습니다.

Which C  11 Standard Library Container Should I Use?

최적의 C 11 표준 라이브러리 컨테이너 선택

클래식 "C 컨테이너 선택" 치트 시트는 특정 사용 시나리오에 적합한 컨테이너를 선택하는 데 대한 지침을 제공합니다. 그러나 C 11용 업데이트 버전이 없습니다.

보상을 위해 컨테이너 선택에 도움이 되는 텍스트 워크플로는 다음과 같습니다.

1. 의미론 우선

연관 컨테이너:

  • 단일 키로 검색해야 하는 경우 연관 컨테이너를 사용하세요.
  • 정렬된 컨테이너를 선택하여 정렬된 상태를 유지하세요. 요소.
  • 별도의 키-값 쌍의 경우 맵을 활용하세요. 키에 대해서만 Set을 고려하세요.
  • "다중" 접두사를 사용하여 중복을 활성화합니다.

간단한 시퀀스 컨테이너:

  • 선택 다음 기준에 따라 적절한 용기:

2. 메모리 안정성

  • 컨테이너 수정 중에 요소가 메모리에 남아 있어야 하는 경우 목록을 사용하세요.
  • 기본값은 목록입니다. 메모리 사용량을 줄이려는 경우에만 Forward_List를 사용하세요.

3. 동적 크기 조정

  • 컴파일 시 크기가 알려져 있고 일정하게 유지되고 요소가 기본적으로 생성 가능하거나 중괄호를 사용하여 초기화되는 경우 배열을 사용합니다.

4. 양면

  • 양쪽 끝에 항목을 추가하거나 제거해야 하는 경우 Deque를 선택하세요.
  • 그렇지 않으면 Vector를 선택하세요.

시나리오: 고유한 데이터를 기반으로 개인 데이터 검색 ID.

  • 찾기 기능(연관 컨테이너)이 필요합니다.
  • 순서는 무관합니다(순서 없음).
  • 키(ID)는 값(맵)과 별개입니다. .
  • 중복 없음(없음 "multi").

결과: std::unordered_map.

참고: 특별한 제약이 없는 경우 적용하려면 단순 시퀀스 컨테이너의 기본 선택으로 Vector를 권장합니다.

위 내용은 어떤 C 11 표준 라이브러리 컨테이너를 사용해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿