변수의 선언, 대입, 초기화
변수를 생성하는 것을 선언(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 |