---
id: cpp-variables
title: "C++ Variables"
category: "Programming_Language"
status: "draft"
verification_status: "conceptual"
canonical_id: ""
aliases: ["variable declaration", "cout chaining", "C++ 변수"]
duplicate_of: ""
source_trust_level: "B"
confidence_score: 0.86
created_at: 2026-07-04
updated_at: 2026-07-04
review_reason: ""
merge_history: []
tags: ["cpp", "programming-language", "w3schools", "variables"]
raw_sources: ["https://www.w3schools.com/cpp/cpp_variables.asp"]
applied_in: []
github_commit: ""
---

# [[CPP Variables]]

## 🎯 한 줄 통찰 (One-line insight)
Unlike C, where printing a variable requires a completely separate format-specifier mechanism (`printf("%d", myNum)`), C++'s `cout <<` can print a variable DIRECTLY and even CHAIN multiple variables and literal text together in one statement (`cout << name << " is " << age << " years old";`) — meaning C++'s output model eliminates the format-specifier/type-matching step entirely, since `<<` is overloaded to know how to print each type on its own. [S1]

## 🧠 핵심 개념 (Core concepts)
- **Five introductory types** — `int` (whole numbers), `double` (decimals), `char` (single character, single quotes), `string` (text, double quotes), `bool` (true/false). [S1]
- **Declaration syntax** — `type variableName = value;`, or declare first and assign later. [S1]
- **Reassignment overwrites** — assigning a new value replaces the old one entirely. [S1]
- **Direct variable printing via `cout <<`** — no format specifier needed, unlike C's `printf()`. [S1]
- **Chaining text and variables** — `cout << "I am " << myAge << " years old.";` combines literal text and variable values in ONE statement using repeated `<<`. [S1]
- **Arithmetic with variables** — `+` works between variables just as with literals: `int sum = x + y;`. [S1]

## 📖 세부 내용 (Details)
- Declare-and-assign, then print directly (no format specifier): `int myNum = 15; cout << myNum;`. [S1]
- Chaining multiple variables and text in one cout statement: `string name = "John"; int age = 35; double height = 6.1; cout << name << " is " << age << " years old and " << height << " feet tall.";`. [S1]
- Adding two variables: `int x = 5; int y = 6; int sum = x + y; cout << sum;`. [S1]

## ⚖️ 모순 및 업데이트 (Contradictions & updates)
- **C++는 포맷 지정자 없이 변수를 바로 출력**: C의 printf()와 달리 cout에 변수를 직접 넣고 여러 개를 << 로 이어붙일 수 있다는 점이, 타입별 포맷 지정자를 매번 맞춰야 했던 C와의 핵심 차이로 확인됨. [S1]

## 🛠️ 적용 사례 (Applied in summary)
현재 발견된 실제 적용 사례가 없습니다 — 문자열, 정수, 실수를 하나의 cout 문에 이어붙여 사람이 읽기 좋은 문장을 만드는 패턴이 실전 출력 포맷팅의 대표 활용이다. [S1]

## 💻 코드 패턴 (Code patterns)
Chaining multiple variables and literal text in one cout statement (C++):
```cpp
string name = "John";
int age = 35;
double height = 6.1;
cout << name << " is " << age << " years old and " << height << " feet tall.";
```

## ✅ 검증 상태 및 신뢰도
- **상태:** draft
- **검증 단계:** conceptual
- **출처 신뢰도:** B (W3Schools — widely used educational reference, not a primary standards body)
- **신뢰 점수:** 0.86
- **중복 검사 결과:** 신규 생성 (New discovery)

## 🔗 지식 그래프 (Knowledge Graph)
- **상위/루트:** [[C++ Tutorial]]
- **관련 개념:** [[CPP New Lines]], [[CPP Variables Identifiers]], [[C Variables]]
- **참조 맥락:** 변수 섹션 첫 챕터 — 식별자 규칙(Variables Identifiers) 챕터로 이어짐.

## 📚 출처 (Sources)
- [S1] W3Schools — C++ Variables — https://www.w3schools.com/cpp/cpp_variables.asp

## 📝 변경 이력 (Change history)
- 2026-07-04: Initial draft synthesized from the W3Schools "C++ Variables" page (Astra wiki-curation, P-Reinforce v3.1 format).
