Variable Lifecycle

변수 한 줄은 타입, 이름, 첫 값, 변경 가능성을 동시에 약속한다

C++ 변수는 선언만 해도 이름과 타입이 생기지만, 의미 있는 사용은 초기화에서 시작된다. 이후 대입 가능 여부와 const 적용 여부를 함께 정해야 코드가 읽힌다.

1

선언

int score;

메모리에 score라는 이름과 int 타입을 붙인다.

2

초기화

int score = 0;

처음 읽기 전에 의미 있는 시작 값을 넣는다.

3

사용

cout << score;

타입에 맞는 연산과 출력에서 값을 읽는다.

4

대입

score = 10;

같은 타입 범위 안에서 새 값을 저장한다.

5

상수화

const int maxLives = 3;

바뀌면 안 되는 값은 선언과 동시에 고정한다.

초기화 방식

중괄호 초기화는 좁아지는 변환을 더 잘 드러낸다

copy int age = 20;
direct int age(20);
brace int age{20};
이름 규칙

컴파일 규칙과 읽기 규칙을 함께 만족해야 한다

숫자로 시작하지 않고 예약어를 피하며, 역할을 드러내는 이름을 쓴다. a, b보다 totalScore, isValid가 유지보수에 낫다.

주의

초기화 전 읽기와 const 지연을 피한다

선언만 한 지역 변수는 값이 정해졌다고 볼 수 없다. 바뀌지 않는 값은 나중에 약속하지 말고 처음부터 const로 작성한다.