포인터 연산

CJB_ny·2022년 8월 3일
0

C++ 정리

목록 보기
32/95
post-thumbnail

포인터 연산

포인터와 관련된 연산

  1. 주소 연산자 &

  2. 산술 연산자

  3. 간접 연산자

  4. 간접 멤버 연산자

1 주소연산자 &

2. 산술 연산자

pointer라는 변수에 데이터 부분의 주소값이 4만큼 증가함.

이유

즉, 다음/혹은 바구니로 이동하고싶다.

3. 간접 연산자 '*'

포탈을 타고 해당 주소로 슝~ 이동.

4. 간접 멤버 연산자 '->'

Player라는 struct 만들고 그 객체를 player라고 만들었다.

그리고 간접 연산자를 통해

(*player).hp 이런식으로 접근이 가능함.

어셈블리 보면

Player의 damage접근할때 eax+4를 해서 접근을 함.

어떤 offset을 기준으로 덧셈 연산을 했다.

(player).hp () . 이거 귀찮다.

이거 합친게 '->'이다.

간접연산자 사용해서 객체의 멤버 변수 접근하는 거랑

간접멤버 연산자 사용해서 객체의 멤버 변수에 접근하는거랑

"동작 방식"이 어셈블리에서도 완전히 똑같다.

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

0개의 댓글