本帖最后由 keer_zu 于 2023-2-18 11:04 编辑
刚开始一阵犯晕,一个类型Ref<T>和一个似乎是形参的other与操作会得出一个什么?显然这种理解是错误的。。
“&&”还有一种含义是右值引用,表示形参是一个右值。
**左值 右值:**
int a = 0;
a是一个左值,左值是一个变量,可以被引用和多次使用。0是一个右值,不可以被引用。
左值一般是非临时变量,可以多次使用。右值只在当前表达式有效。
看一下右值引用的用法:
- class MyClassB
- {
- public:
- void init(int & intval)
- { cout<<"use & print"<<endl;};
- void init(int &&intval)
- { cout<<"use && print"<<endl;}
- };
- int main(void)
- {
- int ae = 10;
- MyClassB().init(10);
- MyClassB().init(ae);
- return 0;
- }
|