저는 현재 C++ Primer를 읽었으며 연습 중 하나에서 2 가지 유형의 참조 초기화, 하나의 const 및 하나의 const를 표시하며 하나의 const에서는 참조 점이 0을 가리 킵니다. 참조가 가리킬 수 있다고 생각했습니다. 물건을!이 C++ 참조 초기화는 어떻게 사용됩니까?
int i = -1, &r = 0; // illegal, r must refer to an object.
const int i = -1, &r = 0; // legal.
그래서 첫 번째 변수 인 int 변수는 -1입니다. 그럼 int 참조 r은 입니다 0을 참조하십시오 gotcha
이제 두 번째, const int i = -1, const 참조 r = 0 .. 어떻게?
참조가 const 일 수 없다는 것을 알고 있습니다. const는 참조가 참조하는 것으로,이 책에서는 const 참조가 const 및 non const 오브젝트 (동일한 유형)를 모두 참조 할 수 있다고 말합니다. 이것은 여전히 객체가 아닌 0을 가리킬 수있는 이유를 설명하지 못합니다.
두 번째 구문이 어떻게 유효한지는 모르겠지만 누군가 설명하십시오!
const int &r = 0;
에서
는
rvalue 및 lvalue라는 용어를 알고 있습니까? 이것들은 어떤 참조가 (타입과 함께) 바인딩 될 수 있는지를 결정합니다. –
@NirFriedman이 질문했을 때, 나는 대답하지 않았을 때, 나는 그들을 봤 거든 이제 내가 할 .. 고마워! – iMarioOfficial