C++ 변수 특징
- 2진수 표기법, 자릿수 표기법(C++11)
- 변수의 중간 선언 가능.
- bool 타입 지원 // C언어(C99)도 가능 했음
- 구조체 만들때 멤버를 초기화 할 수 있음(C++11)
int main()
{
struct Point p1; // C Style
Point p2; // C++ Style
int n1 = 0b00; // 2진수로 표현시 C++11
int n2 = 1'000'000; // 자리수가 클 경우 콤마 처럼 ' 으로 구분하여 표시 가능 C++11
int n3 = 0; // 함수 중간에 변수선언 가능.
bool b = true;
}
일관된 초기화(Uniform Initialization) // C++11
- 중괄호 초기화(Brace Initialization)라고도 부른다.
- 직접 초기화(Direct Initialization) : 초기화시에 '=' 을 사용하지 않는다.
- 복사 초기화(Copy Initialization) : 초기화시에 '=' 을 사용한다.
- 묵시적 형변환 지원하지 않음
직접 초기화(Direct Initialization)
int n1{ 0 };
int n2{ 0 };
int x[2]{ 1, 2 };
Point p{ 1,2 };
복사 초기화(Copy Initialization)
int n1 = { 0 };
int n2 = { 0 };
int x[2] = { 1, 2 };
Point p = { 1,2 };
예제
int n1 = 3.4; // C Style로 초기화시 묵시적 형 변환되어 OK
int n2{ 3.4 }; // 데이터 타입 오류로 컴파일 Error
char c1{ 100 }; // OK
char c2{ 300 }; // 1Byte 초과로 Error
int n3{}; // 0 기본값으로 초기화됨
별칭(using)
- typedef : 타입에 대해서 별칭(alias)을 만들때 사용
- using : 타입과 template의 별칭(alias)을 만들때 사용(사용범위가 넓으므로 typedef 보단 using 권장)
'프로그래밍 언어 > C++' 카테고리의 다른 글
C++ 함수 특징 #1 (0) | 2019.05.05 |
---|---|
C++ 제어문(if, switch)과 반복문(for) (0) | 2019.01.16 |
C++ 변수의 특징(variable) #2 (0) | 2019.01.15 |
C++ 표준 입출력(Basic Input/Output) (1) | 2019.01.13 |
C++ 네임스페이스(Namespace) (0) | 2019.01.02 |