Post
const : 변수가 상수가 되도록 정의하는 키워드
* 함수의 인자에 const 키워드를 선언한다면 구현 부분에도 const를 추가한다
선언부
void PrintNumber(const int nValue);
구현부
void PrintNumber(const int nValue)
{
printf("%d \n", nValue);
}
* 멤버변수의 값이 멤버함수 내에서 변경되지 않도록 만들려면 함수 선언 맨 뒤에 const를 추가한다.
(지역변수는 const 함수 내에서도 값 변경이 된다)
선언부
class Level
{
int nLevel = 0;
public:
// 함수안에서 값을 변경할 수 없을 때
void SetLevel(int nValue) const;
};
구현부
void Level::SetLevel(int nValue) const
{
int temp = nValue;
//nLevel = nValue;
}
* const 키워드를 포인터 변수에 사용할 시 위치에 따라 의미가 달라진다.
const int* p = &a;
const가 맨 앞에 있는 경우 : 포인터가 가르키는 변수의 값을 변경시키지 못한다.
*p = 22; (X)
int* const p = &a;
p = &b; (X)
const가 포인터* 뒤에 있는 경우 : 포인터가 가르키는 주소를 변경하지 못한다.
'이전게시판 > C, C++' 카테고리의 다른 글
Cygwin 설치 설정 방법 (0) | 2018.07.27 |
---|---|
서버 파싱 중 이진수 데이터 조합 (0) | 2018.06.20 |
flyweight(플라이웨이트) 패턴 (0) | 2018.06.16 |
VisualStudio 줄번호 바로가기 단축키 (0) | 2018.06.05 |
C3083 왼쪽의 기호는 형식이어야 합니다 에러 정방선언... (0) | 2018.05.03 |
typedef한 자료형의 별명을 리턴값으로 사용시 에러... (0) | 2018.04.26 |
프로토콜, 라우터 (0) | 2018.04.19 |
C3867 비표준 구문입니다. &를 사용하여 멤버 포인터를 만드세요 (0) | 2018.04.17 |