http://www.winapi.co.kr/:
아래 3개는 모두 동일
const int Day=24;
int const Day=24;
const Day=24; //int 를 안쓰면 default 로 int 가 선언되어진다
int 의 경우 const 순서 상관없이 변수값이 const 가 되지만 포인터의 경우에는 차이가 있다
15-1-나.포인터와 const
const를 포인터와 함께 사용하면 효과가 조금 달라진다. 다음 예제는 포인터와 const의 관계를 실험해 보기 위해 작성했는데 컴파일해 보면 몇 군데서 에러가 발생할 것이다.
예 제 : ConstPointer |
#include <Turboc.h>
void main()
{
int ar[5]={1,2,3,4,5};
int *pi1=&ar[0];
pi1++; // 포인터가 다른 대상체를 가리킬 수 있다.
*pi1=0; // 대상체를 변경할 수 있다.
const int *pi2=&ar[0];
pi2++; // 포인터가 다른 대상체를 가리킬 수 있다.
*pi2=0; // 에러 : 대상체가 상수이므로 변경할 수 없다.
int * const pi3=&ar[0];
pi3++; // 에러 : 포인터가 다른 대상체를 가리킬 수 없다.
*pi3=0; // 대상체는 변경할 수 있다.
const int * const pi4=&ar[0];
pi4++; // 에러 : 포인터가 다른 대상체를 가리킬 수 없다.
*pi4=0; // 에러 : 대상체가 상수이므로 변경할 수 없다.
}
'프로그래밍(Programming) > c++, 11, 14 , 17, 20' 카테고리의 다른 글
MSC_VER, Visual C++ 의 컴파일러 버전 (0) | 2012.11.01 |
---|---|
리터럴 = 숫자 또는 문자 , const 키워드가 아님 (0) | 2012.11.01 |
객체 지향과 영어표기&주석 (0) | 2012.10.31 |
C++ virtual base 클래스 (0) | 2012.10.31 |
void 형변환에 관하여 %p (0) | 2012.10.31 |