---
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 <op> 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).
