--- id: cpp-operators-assignment title: "C++ Assignment Operators" category: "Programming_Language" status: "draft" verification_status: "conceptual" canonical_id: "" aliases: ["compound assignment", "+= -= *=", "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", "operators", "assignment"] raw_sources: ["https://www.w3schools.com/cpp/cpp_operators_assignment.asp"] applied_in: [] github_commit: "" --- # [[CPP Assignment Operators]] ## 🎯 한 줄 통찰 (One-line insight) This chapter explicitly explains WHY these operators are called "compound" — they combine a regular operator (`+`, `-`, `*`, etc.) with the assignment operator (`=`) into ONE single operator (`+=` = `+` combined with `=`) — a naming rationale C's equivalent chapter never spelled out, even though the underlying expansion rule (`x OP= y` ≡ `x = x OP y`) is identical between the two languages. [S1] ## 🧠 핵심 개념 (Core concepts) - **`=`** — basic assignment. [S1] - **Compound assignment operators** — `+=`, `-=`, `*=`, `/=`, `%=`, `&=`, `|=`, `^=`, `>>=`, `<<=`, each expanding to `x = x value`. [S1] - **"Compound" naming rationale** — explicitly explained as combining a regular operator with `=` into one operator symbol. [S1] - **Purpose** — pure shorthand for readability/brevity, especially when updating the same variable repeatedly. [S1] ## 📖 세부 내용 (Details) - Basic compound usage: `int x = 10; x += 5; // same as x = x + 5 cout << x; // 15 x *= 2; // same as x = x * 2 cout << x; // 30`. [S1] - Real-life savings tracker: `int savings = 100; savings += 50; cout << "Total savings: " << savings;`. [S1] ## ⚖️ 모순 및 업데이트 (Contradictions & updates) - 현재까지 발견된 모순 사항 없음 (No contradictions found in available sources). C 챕터와 동일한 확장 규칙이 확인되었으나, "compound"라는 명칭의 유래(연산자+대입 결합)를 이 챕터가 더 명시적으로 설명함. ## 🛠️ 적용 사례 (Applied in summary) 저축액에 50을 더하는 savings += 50 예제가 원문에서 직접 실전 활용 사례로 제시됨(계좌 잔액 누적 갱신). [S1] ## 💻 코드 패턴 (Code patterns) Tracking a running total using the compound addition-assignment operator (C++): ```cpp int savings = 100; savings += 50; // add 50 to savings cout << "Total savings: " << savings; ``` ## ✅ 검증 상태 및 신뢰도 - **상태:** draft - **검증 단계:** conceptual - **출처 신뢰도:** B (W3Schools — widely used educational reference, not a primary standards body) - **신뢰 점수:** 0.84 - **중복 검사 결과:** 신규 생성 (New discovery) ## 🔗 지식 그래프 (Knowledge Graph) - **상위/루트:** [[C++ Tutorial]] - **관련 개념:** [[CPP Operators Arithmetic]], [[CPP Operators Comparison]], [[C Operators Assignment]] - **참조 맥락:** 대입 연산자 — 비교 연산자(Operators Comparison) 챕터로 이어짐. ## 📚 출처 (Sources) - [S1] W3Schools — C++ Assignment Operators — https://www.w3schools.com/cpp/cpp_operators_assignment.asp ## 📝 변경 이력 (Change history) - 2026-07-04: Initial draft synthesized from the W3Schools "C++ Assignment Operators" page (Astra wiki-curation, P-Reinforce v3.1 format).