728x90 CPP Lvalue, Rvalue, &&(우측값 레퍼런스) 개념 Lvalue, Rvalue가 뭘까? 🔸 lvalue 저장할 장소가 있는 값, const가 붙은 값 ex) int a, const char b 🔸 rvalue 임의의 값 ex) 10, 'a' rvalue와 lvalue가 생긴 이유!? 원래 cpp98까지는 rvalue와 lvalue의 개념이 연산자 오른쪽에 있는 애, 연산자 왼쪽에 있는 애였다. 하지만 deep copy가 꼭 필요하지 않은 경우가 있다. class A { std::string a[100000000]; }; A a; B(a); B(makestr(a)); 위의 코드를 보면 class A는 굉장히 큰 string 배열을 저장하고 있다. A 클래스를 파라미터로 받는 B의 생성자를 만들 때, 우리는 항상 deep copy로 A 클래스의 string값.. 2022. 7. 27. 이전 1 다음 728x90