C++
Const
WhNi
2024. 3. 20. 09:44
const 는 상수라는 뜻을 가지며
변경할 수 없는 상수값을 의미한다.
중요한건, const 가 어디에 붙느냐에 따라서 달라진다는 것이다.
이게 은근 헷갈린다.
가장 많이 쓰이고 평범한게,
const로 선언된 변수
int a = 5;
cosnt int b = a;
b는 a의 값이 5가 대입되며, 수정이 불가해진다.
그래서 확실한 수 이거나, 기준이 되는 변수를 설정할때는 const 를 붙인다.
포인터 선언에서 사용되는 const
int* const ptrA = &a;
//ptrA = 4; error
const int* const pNum = &a;
// *pNum = 8; error
// pNum = 9; error
const int& refNum = a;
//refNum = 8; error
//const가 붙는 단위는 전부 변경 불가가 된다.
함수 선언에서 사용되는 const
const int GetNum();
// 함수의 반환값이 상수
void Swap(int& a, const int& b);
// 함수 내에서, 매개변수의 값을 변경 할 수 없음
void readData() const
{
int x = data;
}
// 이 경우에는 함수가 객체 내의 메서드를 변경할 수 없고, data를 수정하게 되면 컴파일 에러가 남
클래스 선언에서 사용되는 const
클래스 전체가 const로 사용되는 경우인데, 과연 쓰는 경우가 있을지 모르겠다.
const Myclass ob1;
// const 인 함수들만 사용가능.
이로써 const가 더 이상 안헷갈리겠지
const 붙은건 다 변경할 수 없는 기준이 되는 수치들이라는걸 기억하자