ruijiege

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

高级架构工程师C++进阶课程(内存泄漏、面试、开源框架、协程、STL、C++11新特性、即时通讯)_哔哩哔哩_bilibili

什么是左值

可以在等号左边,可以取地址,具名

int main(int argc, char const *argv[])
{
    int i = 0;
    ++i = 10;
    (i+=10) = 1000;
    cout<< i << endl;
    return 0;
}
View Code

什么是右值 

可以在等号右边,不可以取地址,不具名

纯右值

字面值

返回引用类型的函数调用

后置自增

算术表达式

逻辑表达式

将亡值(c++ 11新特性(移动语义))

int && 

const $t 可以转发右值但是不能够修改值,

移动构造比深拷贝更加节约资源,不需要重新申请内存空间

因为深拷贝是const修饰的不能够修改属性值

通过std::move()将左值指向右值,并且可以修改右值

实现移动语义(对象赋值时,避免资源的重新分配)需要深拷贝的资源

完美转发

用于函数模板可以将自己的参数完美的转发给内部调用

万能引用,通过引用接收左右属性的值

posted on 2023-11-02 13:06  哦哟这个怎么搞  阅读(4)  评论(0编辑  收藏  举报