???C++ lvalue??rvalue
?????Kinsang ???????[ 2017/5/19 10:16:01 ] ??????????????????? C++
????????????????Σ??????????????????????????????????????á??????????????????????????????????δ????????????????lvalue???????(rvalue)?????????????????“???????????????????”??
?????????????????????????λ??????????
#include <iostream>
using std::cout;
using std::endl;
int foo(int &a) {
return a;
}
int main() {
int a = 1;
cout << &a << endl;
int *p = &foo(a);
}
??????????foo??a)?????????????: "lvalue required as left operand of assignment".??????????&???????????????????????
????????????????foo(a)???????????????1???????????????????????????????????????????????????????????
????????????????????
????????????????????????ζ??????????渳?????C++?????У???????????????????????undefined???????????????????????????洢????????????????????????????????????????????C++?е?????洢?и???????
??????????????????С????C++?????????????????????????
????1. ????????????????????????
????2. ??????????new??malloc??????????
????3. ?????????????.data ??.bss
????????lvalue?????????????“????????????????????”??????????lvalue???????????????rvalue?????仰???C++??????????????????????????????????????????????????????????????????????????
??????
???????????????????????????????????????????????????????????????????????
?????????????
?????????????????????????λ???????????????????????????????????????????????????“?????”??????const?????????????????洢??????????????
?????????
?????????????÷???????????????????????????????????????y???????????????????????????????????漲?????????????????????????????
???????
????C++ 11????????????????????????????Rvalue Reference?????????????move semantics (???????)??Perfect Forwarding(???????)??????Щ?????????????????д??
??????
???·???
??????????????????
2023/3/23 14:23:39???д?ò??????????
2023/3/22 16:17:39????????????????????Щ??
2022/6/14 16:14:27??????????????????????????
2021/10/18 15:37:44???????????????
2021/9/17 15:19:29???·???????·
2021/9/14 15:42:25?????????????
2021/5/28 17:25:47??????APP??????????
2021/5/8 17:01:11