9a135bd19d
최상위 10_Wiki/Topic_*였던 4개 카테고리 폴더를 10_Wiki/Topics/Topic_* 로 재배치. 콘텐츠 변경 없음(순수 폴더 이동) — Topics/ 하위 나머지 폴더는 이미 지난 커밋에서 전부 정리된 상태(잔존 항목은 에이전트 운영 상태 및 사용자가 보존을 요청한 업데이트0615/무제 3.canvas 뿐).
4.6 KiB
4.6 KiB
id, title, category, status, verification_status, canonical_id, aliases, duplicate_of, source_trust_level, confidence_score, created_at, updated_at, review_reason, merge_history, tags, raw_sources, applied_in, github_commit
| id | title | category | status | verification_status | canonical_id | aliases | duplicate_of | source_trust_level | confidence_score | created_at | updated_at | review_reason | merge_history | tags | raw_sources | applied_in | github_commit | |||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| cpp-deque | C++ Deque | Programming_Language | draft | conceptual |
|
B | 0.86 | 2026-07-04 | 2026-07-04 |
|
|
CPP Deque
🎯 한 줄 통찰 (One-line insight)
deque is what queue "should have been" if index access mattered — it takes queue's both-ends-conceptual-flexibility one step further by ALSO allowing []/.at() indexing like vector, meaning deque is effectively "vector + list's both-ends growth combined," and its existence exposes that the earlier stack/queue restrictions (no brace-init, single/dual access points) were deliberate design trade-offs rather than technical limitations of the "add/remove from ends" idea itself. [S1]
🧠 핵심 개념 (Core concepts)
- Deque = double-ended queue — unlike a plain queue (front removal, back insertion only), a deque allows adding AND removing from BOTH ends. [S1]
- Index access restored — unlike stack/queue/list, a deque supports
[]and.at()just like vector, combining both-ends flexibility with random access. [S1] - Brace-initialization allowed — unlike stack/queue,
deque<string> cars = {"Volvo", "BMW", "Ford", "Mazda"};works directly, matching vector/list syntax. [S1] .push_front()/.push_back(),.pop_front()/.pop_back()— identical method names tolist, giving deque list's symmetric growth PLUS vector's indexing. [S1].front()/.back(),.size()/.empty()— same as every other sequence container covered so far. [S1]- Looping — both indexed
for+.size()and for-each work, exactly like vector (unlike list, which only supports for-each). [S1]
📖 세부 내용 (Details)
- Access:
cars[0],cars.front(),cars.back(),cars.at(1)— same safety trade-off as vector (.at()throws on out-of-range,[]does not). [S1] - Add/remove at both ends:
cars.push_front("Tesla"); cars.push_back("VW"); cars.pop_front(); cars.pop_back();. [S1] - Both loop styles supported: indexed
for (int i = 0; i < cars.size(); i++)AND for-eachfor (string car : cars). [S1]
⚖️ 모순 및 업데이트 (Contradictions & updates)
- stack/queue의 제약이 deque에는 적용되지 않음: stack과 queue는 선언 시 중괄호 초기화가 불가능했지만, deque는 vector/list와 동일하게
= {...}로 즉시 초기화가 가능하다는 점이 이번 챕터에서 확인됨 — 앞서의 제약이 "양 끝 삽입/삭제 컨테이너의 본질"이 아니라 설계 선택이었음을 보여줌. [S1] - 인덱스 접근과 양쪽 끝 성장이 동시에 가능해짐: list는 양쪽 끝 성장은 가능했지만 인덱스 접근이 불가능했고, queue/stack은 인덱스 접근도 양쪽 끝 임의 접근도 안 됐지만, deque는 이 둘을 모두 갖춘 컨테이너로 확인됨. [S1]
🛠️ 적용 사례 (Applied in summary)
현재 발견된 실제 적용 사례가 없습니다 — 자동차 이름 deque에 인덱스 접근, 양 끝 push/pop, 순회를 모두 적용하는 예제가 원문에서 제시됨. [S1]
💻 코드 패턴 (Code patterns)
Deque combines vector's indexing with list's both-ends growth (C++):
#include <deque>
deque<string> cars = {"Volvo", "BMW", "Ford", "Mazda"};
cout << cars[0]; // indexed access, like vector
cars.push_front("Tesla"); // both-ends growth, like list
cars.push_back("VW");
cars.pop_front();
cars.pop_back();
for (int i = 0; i < cars.size(); i++) { // indexed loop works too
cout << cars[i] << "\n";
}
✅ 검증 상태 및 신뢰도
- 상태: draft
- 검증 단계: conceptual
- 출처 신뢰도: B (W3Schools — widely used educational reference, not a primary standards body)
- 신뢰 점수: 0.86
- 중복 검사 결과: 신규 생성 (New discovery)
🔗 지식 그래프 (Knowledge Graph)
- 상위/루트: C++ Tutorial
- 관련 개념: CPP Queues, CPP Vectors, CPP List, CPP Sets
- 참조 맥락: 데이터 구조(STL) 섹션 — Sets 챕터로 이어짐.
📚 출처 (Sources)
- [S1] W3Schools — C++ Deque — https://www.w3schools.com/cpp/cpp_deque.asp
📝 변경 이력 (Change history)
- 2026-07-04: Initial draft synthesized from the W3Schools "C++ Deque" page (Astra wiki-curation, P-Reinforce v3.1 format).