포인터같은거 아니고 레퍼런스라 그런거 아님?
&x라고 하면 x의 주소를 담은 변수라고 알고 있는데 그러면 &x 출력하면 주소값이 나와야 하지 않아?
그건 C고요
rust book chap4.2 figure 4-5에 있는거 보면 주소값처럼 보이는데 그 그림은 그럼 뭐야?? 너무 헷갈린다
1. {}는 그 타입의 Display 구현을 사용함
2. &T는 Display 구현을 안함
3. 그래서 Deref라고 내부타입으로 유추해주는걸로 &&&&&&..i32 타입이 i32까지 내려와서 i32의 Display 구현을 사용함
아 짱 신기하네 ㅋㅋ 그런거였구나 고마워
주소출력하려면 {:p} 쓰면됨 이건 Pointer 구현을 쓰는데 &T가 Pointer는 구현하고 있음
&&i32가 진짜 이중포인터임? &&i32하면 중간에 &i32타입 변수가 암시적으로 생기는 건가?
당연히 이중 포인터지
rvalue에 너무 익숙해짐
rvalue 참조 받는건 아무문제 없는데 이름에 바인딩 안돼있어서 그 수명을 리턴하는 함수에는 못씀
수명이 아주 제한적임 물론 다른 시스템 언어처럼 댕글링 되는게 아니라 컴파일러님한테 쳐맞음
포인터같은거 아니고 레퍼런스라 그런거 아님?
&x라고 하면 x의 주소를 담은 변수라고 알고 있는데 그러면 &x 출력하면 주소값이 나와야 하지 않아?
그건 C고요
rust book chap4.2 figure 4-5에 있는거 보면 주소값처럼 보이는데 그 그림은 그럼 뭐야?? 너무 헷갈린다
1. {}는 그 타입의 Display 구현을 사용함
2. &T는 Display 구현을 안함
3. 그래서 Deref라고 내부타입으로 유추해주는걸로 &&&&&&..i32 타입이 i32까지 내려와서 i32의 Display 구현을 사용함
아 짱 신기하네 ㅋㅋ 그런거였구나 고마워
주소출력하려면 {:p} 쓰면됨 이건 Pointer 구현을 쓰는데 &T가 Pointer는 구현하고 있음
&&i32가 진짜 이중포인터임? &&i32하면 중간에 &i32타입 변수가 암시적으로 생기는 건가?
당연히 이중 포인터지
rvalue에 너무 익숙해짐
rvalue 참조 받는건 아무문제 없는데 이름에 바인딩 안돼있어서 그 수명을 리턴하는 함수에는 못씀
수명이 아주 제한적임 물론 다른 시스템 언어처럼 댕글링 되는게 아니라 컴파일러님한테 쳐맞음