--- id: cpp-arrays-loop title: "C++ Arrays and Loops" category: "Programming_Language" status: "draft" verification_status: "conceptual" canonical_id: "" aliases: ["loop through array", "foreach loop arrays", "C++ 배열 반복문"] duplicate_of: "" source_trust_level: "B" confidence_score: 0.84 created_at: 2026-07-04 updated_at: 2026-07-04 review_reason: "" merge_history: [] tags: ["cpp", "programming-language", "w3schools", "arrays", "loops", "foreach"] raw_sources: ["https://www.w3schools.com/cpp/cpp_arrays_loop.asp"] applied_in: [] github_commit: "" --- # [[CPP Arrays and Loops]] ## 🎯 한 줄 통찰 (One-line insight) The for-each loop's element type must match the array's element type EXACTLY — `for (int num : myNumbers)` for an int array, `for (string car : cars)` for a string array — meaning unlike the traditional indexed loop (which works identically regardless of array type since it only manipulates an integer index), the for-each loop's syntax itself changes shape depending on what the array stores. [S1] ## 🧠 핵심 개념 (Core concepts) - **Traditional indexed loop** — `for (int i = 0; i < size; i++) { arr[i] ... }` works the same regardless of array element type. [S1] - **For-each loop (C++11+)** — `for (type var : arrayName)`, used EXCLUSIVELY for looping through elements in an array or other data structures (vectors, lists). [S1] - **Type-matched for-each declaration** — the loop variable's declared type must match the array's element type (`int` for an int array, `string` for a string array). [S1] ## 📖 세부 내용 (Details) - Indexed loop with both index and value: `for (int i = 0; i < 5; i++) { cout << i << " = " << cars[i] << "\n"; }`. [S1] - For-each loop over integers: `for (int num : myNumbers) { cout << num << "\n"; }`. [S1] - For-each loop over strings: `for (string car : cars) { cout << car << "\n"; }`. [S1] ## ⚖️ 모순 및 업데이트 (Contradictions & updates) - **for-each 루프는 배열 타입에 맞춰 변수 타입도 바뀜**: 인덱스 기반 루프는 배열 타입과 무관하게 항상 int i로 동일하지만, for-each 루프는 int 배열엔 int, string 배열엔 string으로 변수 타입을 맞춰야 한다는 구문상 차이가 확인됨. [S1] ## 🛠️ 적용 사례 (Applied in summary) 현재 발견된 실제 적용 사례가 없습니다 — 인덱스와 값을 함께 출력하는 패턴이 배열 내 위치 정보가 필요한 실전 상황에서 인덱스 기반 루프의 활용 근거가 된다. [S1] ## 💻 코드 패턴 (Code patterns) The for-each loop variable type matching the array's element type (C++): ```cpp string cars[5] = {"Volvo", "BMW", "Ford", "Mazda", "Tesla"}; for (string car : cars) { cout << car << "\n"; } ``` ## ✅ 검증 상태 및 신뢰도 - **상태:** draft - **검증 단계:** conceptual - **출처 신뢰도:** B (W3Schools — widely used educational reference, not a primary standards body) - **신뢰 점수:** 0.84 - **중복 검사 결과:** 신규 생성 (New discovery) ## 🔗 지식 그래프 (Knowledge Graph) - **상위/루트:** [[C++ Tutorial]] - **관련 개념:** [[CPP Arrays Size]], [[CPP Arrays Multi]], [[CPP For Loop Foreach]] - **참조 맥락:** 배열 반복문 — 다차원 배열(Arrays Multi) 챕터로 이어짐. ## 📚 출처 (Sources) - [S1] W3Schools — C++ Arrays and Loops — https://www.w3schools.com/cpp/cpp_arrays_loop.asp ## 📝 변경 이력 (Change history) - 2026-07-04: Initial draft synthesized from the W3Schools "C++ Arrays and Loops" page (Astra wiki-curation, P-Reinforce v3.1 format).