[C++] 여러 가지 변수 초기화 방법 variable initialization
in C++ on 공부, C++, 초기화
변수가 정의될 때, 해당 변수에 값을 지정할 수 있다. 이것을 변수 초기화, 혹은 초기화라고 한다.
C++는 변수를 초기화하는 세 가지 방법을 지원한다.
- 복사 초기화 : 대입 연산자
=
를 사용 - 직접 초기화 : 괄호
()
를 사용 - C++ 11의 유니폼 초기화 : 중괄호
{}
를 사용
int value = 5;
int value(5);
직접 초기화는 일부 데이터 타입에서 복사 초기화보다 성능이 뛰어날 수 있다. 초기화와 할당을 구분하는데 도움이 된다.
유니폼 초기화
복사, 직접 초기화는 일부 타입의 변수에 대해서만 작동한다. 모든 데이터 타입에서 작동하는 단일 초기화 매커니즘을 제공하기 위해 C++ 11은 유니폼 초기화라는 새로운 형태의 초기화 매커니즘을 추가했다.
int value{}; // default initialization to 0
또 유니폼 초기화는 형 변환을 허용하지 않기 때문에 컴파일러에서 경고/오류가 발생한다.
int value{4.5};