본문 바로가기

# Lang/C++

1.2 변수의 생성


 변수의 선언, 대입, 초기화

변수를 생성하는 것을 선언(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};
}

[참고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