- 상수 포인터에 대해서는
> int* const p; // p 자체 주소값만 상수
> const int* p; // p가 가리키는 값(p*)만 상수상수
> const int* const p; // p 자체 주소값과 p가 가리키는 값(p*) 모두 상수
다 알고 있는 내용일 듯...
- 그러면 typedef을 이용하여 포인터 자료형을 재정의 한다면?
> 상수 포인터 처럼 되지 않을까 했지만
> #define으로 한 매크로 정의가 아니기 때문에 다르다
typedef int* PINT;
const PINT p; // p 자체 주소값만 상수
PINT const p; // 허용은 되나 잘 안 쓰는 구식 표현, p 자체 주소값만 상수
따라서 포인터가 가리키는 내용을 상수화 할 수 없다.
- 주소값 상수화 : 주소 변경시 에러 -
- 주소 가리키는 내용 상수화 : 멤버 변수 못 바꿈 -
- typedef STRUCT* PSTRUCT -
주소값은 바꾸는데 내용물은 바꿀 수 있다 -> 내용물을 상수화 시킬 수 없다 -> 혼파망ㅠㅠ
cf.잘 안쓰는 표현, 자료형 앞에 붙인 표현 같은 취급
'programing > C++' 카테고리의 다른 글
Get Set 함수를 쓰는 의미 (0) | 2017.04.10 |
---|---|
함부로 인수에 레퍼런스 타입을 넣으면 안된다. (0) | 2017.04.07 |
가변 함수 (0) | 2017.04.05 |
final, override, interface (0) | 2017.04.03 |
__super 키워드 (0) | 2017.03.30 |