여기서 definition을 몇가지 정리해본다.
아는 놈들은 확인하고 모르는 놈들은 지금 알아놔라
* = value 즉 값을 의미하고
& = address 즉 메모리 주소값을 의미한다
여기까지가 definition이고
이걸 어떻게 써먹는지 한번 보자
int a 가 있다 가정해보자
a는 이렇게 바꿔쓸수도 있는데
a= *&a = *&*&a = *&*&*&....*&a
의미로 해석하자면(이건 공식적인게 아니라 내가 생각한거)
value of address of a = *&a
와 똑같다(지잡놈들아 이것부터가 너희들이랑 나랑 차이야. 니들 교과서만 의존하지 말고 항상 자기걸로 만들어보라고 말하는게 바로 이런것들이다)
int a = int *&a와 같은 이유는
value of address of value of address of value of address of .... value of address of a의 재귀인데
위에 그림을 보면 a의 주소(address)의 값(value)의 주소(address)의 값(value)의 주소(address)의 값(value) = a라는거지
위로 예를들면 'c'값의 메모리 주소(8000)의 값('c')의 메모리 주소(8000)의 값('c')의 메모리 주소(8000)의 값('c')의 메모리 주소(8000)의 값('c')의 .....
뭐 그런거지.. 이해는 되냐? 좆밥들아?(자존심 상해하지 말고 모르는걸 친절히 알려주는 나한테 감사하게 생각해라 니네는 욕먹어도 싸 이거 다 내머리에서 정리해서 나온거)
한글이랑 거꾸로 된게 영어라 좀 햇갈리긴 해도 눈치좀 빠른 놈들은 알수있지 (지잡놈들은 이해 못할듯)
그리고 다시 int *&a를 다시 분해해보자
int * & a 이렇게 4개로 구성되어있지?
int* &a 이렇게 만들고 &a = A 변수로 치환해보자 (치환 모르면 중딩때 얼마나 수학 공부안했다는거냐... 이건 모르면 인터넷에서 찾아서 니가 이해해라)
그럼 어떻게 바뀌지?
int* A가 되겠지?
자 그럼 A는 a의 메모리 주소네?
그럼 A의 메모리주소 즉 2차 포인터는 어떻게 되는걸까?
쉬워
잘봐
int *&*&a 를 아까 방식으로 분해해보자
int **&&a
int** &&a (예술이라고 지금 느낀 놈 손들어 ㅋㅋ)
int** C 이렇게 치환해보자
그렇다면 C = &A = &&a
라는게 보이지?
이런걸 증명이라고 하는건데
하...
니들이 올려야 하는 수준의 5단계가 바로 여기고 7단계로 올라가는건 이런걸 한데 묶어 한줄로 프로그래밍을 표현가능하다면 그게 물아일체의 경지다
지잡놈들아... 그리고 스펙믿고 깝치거나 ... 좆도 없는 수준의 학부생 명문대새끼들아...
이런걸 해내야 클래스라는 소리를 듣느거다
내 글에 댓글달아서 되도안되는 씨부리고 싶은 그 미워하는 마음은 알겠지만
인정할땐 인정할줄 알아야지
세계랭커야 다시는 과외한다고 깝치지 마라
끝
- dc official App
4점
이건 먼소리냐
그래서 이게 결론이 뭔데 씨발