코딩 법칙 : 3가지의 참조하는 방법.

보물창고·2022년 8월 13일
0

c++ basic 코드누리

목록 보기
21/50

0. lValue와 rValue

  • lValue : 등호의 오른쪽과 왼쪽에 올수 있는 것. / 메모리값을 갖고 있음.
    - int value; 에서의 value
  • rValue : 등호의 오른쪽에만 올수 있음. / 메모리 값 없음.
    - 리터럴 상수값 5

problem

: 변수 int a, b 만들고, lvalue = 상수 // lvalue = lavlue // 상수 = lvalue를 만들어보자.

1. lValue reference

: lValue 값만 받을 수 있음.
int a= 4;
int &rA = a;

problem

: int &r1, &r2를 만들고, 참조1 = lvalue // 참조2 = 상수 만들어보자.

🔥2. const reference

: lvalue와 rvalue 둘다 받을 수 있음.

const int &cr = 4;
int a = 10;
cr = a;

problem

: const int&cr1 , cr2 를 만들고, const ref1 = lvalue // const ref2 = 상수 만들어보자.

3. rValue reference

: rValue 만 받을 수 있음.

어디서 사용?

: move , perfect forwarding에 사용함.
// 여기서 가리킨다는 것은 대입 및 초기화를 의미함.

problem

: int&& rr1 , rr2 를 만들고, rr1 = lvalue // rr2 = 상수 만들어보자.

problem

: 위의 내용을 토대로 코딩하라.

💀반드시 알아야 하는 지식

int &&ref = 4;
: 그리고 나서 rValue인 ref는 메모리가 있기 때문에, lValue 로 결정된다.

profile
🔥🔥🔥

0개의 댓글