최적의 C 11 표준 라이브러리 컨테이너 선택
클래식 "C 컨테이너 선택" 치트 시트는 특정 사용 시나리오에 적합한 컨테이너를 선택하는 데 대한 지침을 제공합니다. 그러나 C 11용 업데이트 버전이 없습니다.
보상을 위해 컨테이너 선택에 도움이 되는 텍스트 워크플로는 다음과 같습니다.
1. 의미론 우선
연관 컨테이너:
- 단일 키로 검색해야 하는 경우 연관 컨테이너를 사용하세요.
- 정렬된 컨테이너를 선택하여 정렬된 상태를 유지하세요. 요소.
- 별도의 키-값 쌍의 경우 맵을 활용하세요. 키에 대해서만 Set을 고려하세요.
- "다중" 접두사를 사용하여 중복을 활성화합니다.
간단한 시퀀스 컨테이너:
2. 메모리 안정성
- 컨테이너 수정 중에 요소가 메모리에 남아 있어야 하는 경우 목록을 사용하세요.
- 기본값은 목록입니다. 메모리 사용량을 줄이려는 경우에만 Forward_List를 사용하세요.
3. 동적 크기 조정
- 컴파일 시 크기가 알려져 있고 일정하게 유지되고 요소가 기본적으로 생성 가능하거나 중괄호를 사용하여 초기화되는 경우 배열을 사용합니다.
4. 양면
- 양쪽 끝에 항목을 추가하거나 제거해야 하는 경우 Deque를 선택하세요.
- 그렇지 않으면 Vector를 선택하세요.
예
시나리오: 고유한 데이터를 기반으로 개인 데이터 검색 ID.
- 찾기 기능(연관 컨테이너)이 필요합니다.
- 순서는 무관합니다(순서 없음).
- 키(ID)는 값(맵)과 별개입니다. .
- 중복 없음(없음 "multi").
결과: std::unordered_map.
참고: 특별한 제약이 없는 경우 적용하려면 단순 시퀀스 컨테이너의 기본 선택으로 Vector를 권장합니다.
위 내용은 어떤 C 11 표준 라이브러리 컨테이너를 사용해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!