반응형
728x170
1. 변수 초기화
C++ 11에서 허용되는 문법과 C++에 넘어오면서 일반적인 변수 초기화와 다른 점이 있다.
//일반적인 초기화
int friends = 11;
//C++ 에서 넘어온 초기화
int ex(101) ; //ex를 101로 초기화함
//C++11에서 초기화 (배열과 같이 중괄호를 사용)
int milk = {11}; // 중괄호로도 바로 초기화 가능
int cheese{ 6 }; // =을 사용하지 않아도 된다.
//만약 공백이면 0으로 초기화함
int books = { };
이렇게 프로그래머에게 자유도를 높여준 것은
C++의 접근성을 높이기 위함이다.
2. 배열 초기화
** 초기화 형식은 배열이 선언될 때 한다.
int cards[4] = {3,6,1,2}; // 모든 원소 초기화
int hand[4]; // 값 초기화 x
float coll[5] = {1.2, 3.4}; // 처음 원소 2개만 초기화 (나머지는 0)
double sell[10] = {0}; // 모든 원소 0으로 초기화
long long things[] = {1,3,5,7}; // things의 크기가 4이면서 입력된 값으로 초기화 된다.
//전역에서 크기만 실행하는 경우
int arr[4]; // -> 모든 원소 값이 0으로 초기화된다.
**다만 원소의 개수를 컴파일러가 결정하게 하는 것은 좋지 않다.
위의 things[] 가 바로 그 예이다.
//C++11에서는 중괄호를 이용한 초기화를 제공한다.
double earnigs[4] {1.2e4, 1.6e4}; // =이 없어도 가능한 초기화 방법이다.
unsigned int counts[10] = { }; //비워놓아도 0으로 초기화 된다.
float balances[100] { }; // =이 없어도 0으로 초기화 된다.
728x90
반응형
그리드형
'프로그래밍 지식 > C++' 카테고리의 다른 글
C++문법/ 생성자와 소멸자 , Constructor & Destructor (0) | 2021.11.24 |
---|---|
C++문법 / 문자열 함수를 위한 cctype (0) | 2021.11.17 |
C++문법 / 포인터, 메모리 해제 (0) | 2021.11.10 |
C++문법/ 열거체, Enum (0) | 2021.11.09 |
C++문법/ 공용체, Union (메모리 절약 가능) (0) | 2021.11.09 |