Const &char Class::Method (int* pt)

 

해당 메소드의 반환값(char)을 상수화시켜서 못바꾸게 하겠다는뜻.

 

이걸 그대로 받아서 변수로쓰면 못바꿈.

 

&char Class::Method (int* pt) Const

 

메소드 자체를 상수화 하겠다는뜻.

 

메모리스택에서 얘가 다 돌고 해제될때까지 

 

내부 데이터들이 다 상수화되서 안바뀜. 

 

스레드,동시성 프로그래밍할떄 유용할거같다.

 

&char Class::Method (Const int* pt) 

 

pt라는 포인터가 가리키는 매개변수의 주소값을 상수화시켜버리는것.

 

어디가리키는지는 못바꾸는데 가리키는곳의 데이터는 바꿀 수있다.

 

 

&char Class::Method (int* Const pt) 

 

pt라는 포인터가 가리키는 매개변수의 데이터를 상수화 시켜버림.

 

포인터가 가리키는 주소는 바꿀수있는데 데이터를 못바꿈

 

 

규칙성을 따져보면

const는 앞에 뭔가 있으면 그거 하나를 얼려버림.

그리고 앞에 아무것도 없고 뒤에 뭔가 있으면 그걸 다 얼려버림.

 

const를 어떻게 넣냐에 따라서 

프로그래머가 원치않게 변수조작하는것을 미연에 방지해줄수 있음

+ Recent posts