본문 바로가기

Computer/C

Const (함수)

이번에는 함수와 함께 const 키워드를 쓰는 것을 알아 보겠습니다.
역시 3 개의 경우의 수가 있습니다.
함수 뒤에 const, 매개변수 앞에 const, 리턴 형 앞에 const

1. const 멤버 함수(함수 뒤)
void ConstTest::Test() const 의 경우가 되겠습니다.
이 경우 이 함수를 통해서 멤버 변수의 값이 변경되는 것이 허용되지 않는다는 것입니다.
아래 그림에서는 int a 가 ConstTest의 멤버 변수 이므로, ConstTest::Test() 로 a = 10은 허용되지 않습니다.

2. 매개변수 앞
 void ConstTest::Test2( const int b ) 입니다.
 매개변수(인자)가 상수화 되는 것입니다. b = 10 은 에러입니다.

3. 리턴 형 앞 
 const int ConstTest::Test3() 입니다.
 이 경우 리턴 하는 int값이 상수화 되는 것입니다.
 다만, 
 ConstTest con;
 int i;
 i = con.Test3() - 1;
 의 경우는 잘 됩니다.
 현재 딱히 에러를 발생 시킬 경우가 생각이 안납니다. 언젠가 생각이 나면 추가를... ㅎㅎ;

 

'Computer > C' 카테고리의 다른 글

Volatile variable  (0) 2010.02.22
Const (포인터)  (0) 2010.02.22