#따배씨 2.9 심볼릭 상수 symbolic constants
by #독개##include <iostream>
#include <limits>
/*
상수는 변수 처음에 초기화할때 값을 넣으면 그뒤에 바꿀수 없음을 의미
고정값이라 보면된다. 중요한 값을 협업하는 프로그래머가 바꿔버리면
안되고 나역시도 바꾸면 안될때 사용한다
이것도 바꾸는 방법이 잇긴한데 정상적이지 않으므로 절대 추천하지 않는다
const는 바꿀수 없는 값이므로 초반에 선언할때 반드시 초기화를 해줘야한다.
*/
int main()
{
using namespace std;
const double gravity{9.8}; // double const gravity{9.8}; 이렇게 써도되나 옆에방식이좋음
//위에 상수는 컴파일단계에서 결정된다
//하지만 아래 상수는 런타임 단계에서 유저의 입력에 의해 결정된다
int number;
cin >> number;
const int special_number(number);
//그럼 코드만 보고는 이게 컴파일단계에서 결정되는지 , 런타임에서 결정되는지 쉽게 알기가 어렵다
//그래서 c++ 11부터 키워드가 하나 더들어왔다 constexpr 컴파일단계에서 결정되는 상수다!라는의미
constexpr int my_number{5};
// constexpr int input_number(number); //이렇게 하면 오류가난다 이건 런타임에서 결정되는 상수이므로
return 0;
}
/* C언어에서는 이 상수대신에 #define PRICE_PER_ITEM 30 이런식으로해서 상수대신에 매크로를 사용하기도 했다
그런데 C++에서는 거의 안쓴다 그이유는 우선 마우스 가져다 대도 얼마인지안나와 디버깅이 힘들고
전처리기는 이파일내에 전체가 범위가 되어버린다 범위가 너무 넓다.
C++에서는 My_Constant.h 이런식으로 헤더파일을 만들고 namespace constants를 만들어서 거기에 쭉모아두는
방법을 쓰기도한다
*/
//함수에 매개변수에 const 붙이는 경우 굉장히많다
void printNumber(const int my_number) //(const int& my_number) 이렇게 하는경우가 훨씬많은데 뒤에서설명
{
//내부에서 my_number = 456 이렇게 입력받은 argument값을 바꾸지 못하고 그대로 쓰도록
}
🐱👓독하게 개발
'🔥 프로그래밍 학습 > C++' 카테고리의 다른 글
#따배씨 3.2 산술연산자 arithmetic operators (0) | 2022.11.05 |
---|---|
#따배씨 3.1 연산자 우선순위 결합 법칙 (0) | 2022.11.05 |
#따배씨 2.8 리터럴 상수 literal constants (0) | 2022.11.05 |
#따배씨 불리언 자료형과 조건문 if (0) | 2022.11.04 |
#따배씨 2.5 부동소수점수 floating pint numbers (0) | 2022.11.04 |
블로그의 정보
독한 개발자
#독개#