변수의 선언, 대입, 초기화
변수를 생성하는 것을 선언(Declaration)이라고 하며,
선언된 변수는 메모리가 할당되어야만 사용할 수 있다.
선언과 동시에 값을 지정하는 것을 초기화(Initialization).
선언된 이후에 값을 지정하는 것을 대입(Assignment)이라고 한다.
#include <iostream>
int main() {
// 선언되었지만, 초기화되지 않음.
int32_t a;
// 값이 대입됨.
a = 0;
// 선언과 동시에 초기화됨.
int32_t b = a;
}
변수를 초기화하는 다양한 방법
- Assign 연산자를 통한 초기화.
- Constructor를 통한 초기화.
- Uniform Initialization을 통한 초기화. (Since C++11)
#include <iostream>
int main() {
// (1) Initialize by Assign.
int32_t a = 3;
// (2) Initialize by Constructor.
int32_t b(3);
new int32_t(3);
// (3) Initialize by Uniform-Initialization. (Since C++11)
int32_t c{3};
new int32_t{3};
}
[참고1] Value-Initialization
[참고2] Uniform Initialization
변수 선언시, 자료형 추론 (Since C++11)
변수에 대입되는 값을 통해 자료형을 유추. (auto)
또는, 표현식 결과의 자료형을 사용. (decltype)
#include <iostream>
int main() {
auto a = int32_t(3); // a is int32_t.
decltype(3/1.5) b = 3; // b is double.
}
'# Lang > C++' 카테고리의 다른 글
| 2.2 자료형과 데이터 해석 (0) | 2019.03.27 |
|---|---|
| 2.1 자료형 (0) | 2019.03.26 |
| 1.3 변수와 메모리 모델 (0) | 2019.03.23 |
| 1.1 변수의 정의 (0) | 2019.03.20 |
| 모던 C++14(17) 학습목차 (0) | 2019.03.20 |