C++ Chapter 2.7 : 리터럴 상수, 심볼릭 상수
카테고리: Cpp
태그: Cpp Programming
인프런에 있는 홍정모 교수님의 홍정모의 따라 하며 배우는 C++ 강의를 듣고 정리한 필기입니다. 😀
🌜 [홍정모의 따라 하며 배우는 C++]강의 들으러 가기!
Chapter2. 변수와 기본 자료형
리터럴 상수
8진수 : 0
int x = 012;
- int x = 012;
- 8진수로 12라는 것.
- 십진수로 18 + 21 = 10
16진수 : 0x
int x = 0x12;
- int x = 0x12;
- 16진수로 12라는 것.
- 십진수로 116 + 21 = 18
2진수 : 0b
int x = 0b1011;
- int x = 0b12;
- 2진수로 1011 라는 것.
- 십진수로 18 + 04 + 12 + 11 = 11
가독성 높이기
int x = ob1011'1011'1000'
'
로 가독성을 높여줄 수 있다.- C++부터 허용.
'
는 읽지 않는다.
- C++부터 허용.
심볼릭 상수
상수는 심볼릭하게
- const double gravity{9.8};
- 중력 가속도는 9.8 값으로 고정된 상수이다.
- 중력 가속도로 어떤 연산을 할 때 * 9.8 하는 것 보단
- 중력 가속도 의미가 사는 * gravity 라고 하는게 낫지 !
- 이런게
심볼릭 상수
- 상수 리터럴로 그냥 쓰기보단 이런
기호적 상수
자주 쓰기
- 이런게
- 중력 가속도 의미가 사는 * gravity 라고 하는게 낫지 !
- const 상수이므로 값을 바꿀 수 없다.
- 함수 매개변수에도 const를 붙이는 경우가 많다.
- 파라미터 값을 변형시키지 않았으면 하는 마음에서.
- C++에선 #define 매크로 잘 쓰지 않는다. 디버깅시 위아래를 왔다 갔다 해야하기 때문에
-
매크로보다는 const int PRICE = 30; 같은 기호적 상수를 더 많이 쓴다.
#define PRICE 30 // 보다는 const int PRICE = 30; // 이걸 더 추천 in C++
-
- 이러한 심볼릭 상수들은 헤더파일에 모아놓는게 좋다.
constexpr
constexpr int my_const(123);
constexpr
- 컴파일 타임에 값이 완전히 결정됨을 알려주는 키워드,
int number;
cin >> number;
constexpr int my_const(number); // error !
- number값은 콘솔창 입력을 통해 런타임에 결정되는 값이므로
- 컴파일 타임에 결정 될 수 없는 값이다.
- 오류 !
- 컴파일 타임에 결정 될 수 없는 값이다.
🌜 개인 공부 기록용 블로그입니다. 오류나 틀린 부분이 있을 경우
언제든지 댓글 혹은 메일로 지적해주시면 감사하겠습니다! 😄
댓글남기기