CPP_어소_30_const

CJB_ny·2022년 6월 21일
0

CPP_AROTHO

목록 보기
28/83
post-thumbnail
post-custom-banner

const

상수화 == "값이 바뀔 수 없는 상태가 되었다"

  • l-value : 변수

  • r-value : 상수

cint 에 const 키워드를 붙이면 "문법적"으로 값을 변경하는 것을 막아주겠다라는 것이지

값을 아예 못 바꾼다는 것이 아니다.

(=> 아마 주소를 통해 변경이 가능하지 않을까? 싶다)

그래서

이러면 우짤껀데?

내가 캐치 해야할게

int* b = &a; 해버리면 에러남? =>

그래서 int b = (int)&a; 이렇게 캐스팅 해주어야함.


강의에서

volatile 키워드 == 레지스터? 안쓰겠다, 최적화 안하겠다.

지금

CPU는 중간연산 저장 결과로 빠르게 끌어다 쓰는 "레지스터 메모리"가 있다.

(빠르게 빠르게 쓸려고, 빠르게 끌어다 쓸려고)

그런데 const로 해놓은 100이라는 값을 이 레지스터에 기억을 하고 있었던 것이다.

그래서 저 300이라는 곳까지 굳이 접근을 해서 값을 가져오는게 아니라

레지스터에 바로 접근을 해버려서 100이 printf에 찍혔던 것이다.

다음 시간에는 const pointer

profile
https://cjbworld.tistory.com/ <- 이사중
post-custom-banner

0개의 댓글