当前位置: 首页 > news >正文

HJ C++11 Day6

查源码–标准库源代码分布

...\CPP_version\include\c++\bits //STL源码也在这

...\CPP_version\include\c++\ext

右值引用

该语义的发展是为了非必要的赋值操作。
下面介绍左值和右值的概念:

  1. 左值是可以出现在=左边的东西
  2. 右值是只能出现在=右边的东西(例如临时对象)
    左值是指表达式结束后依然存在的持久化对象,右值是指表达式结束时就不再存在的临时对象。所有的具名变量或者对象都是左值,而右值不具名。很难得到左值和右值的真正定义,但是有一个可以区分左值和右值的便捷方法:看能不能对表达式取地址,如果能,则为左值,否则为右值。
    在C++11中,右值引用的操作符为&&,左值引用的操作符为&

在这里,右值引用更像是“偷取”,我们没有深度拷贝堆内存中的数据,而是仅仅复制了指针,并把源对象 other 的指针置空。事实上,我们“偷取”了属于源对象 other 的内存数据。由于源对象 other 是一个右值,不会再被使用,因此客户并不会觉察到源对象被改变了。

完美转发

这里感觉只听懂了一点点,这里直接放别人的博客吧

相关文章:

  • Spring事务管理
  • 数据仓库的 DWD 分层架构:构建高效数据平台的基石
  • 科技重构旗舰SUV:腾势N9上市38.98万起
  • C++红黑树实现
  • 深度学习2-线性回归表示
  • 【读书笔记】华为《从偶然到必然》
  • SMBus协议(二):与I2C协议的对比
  • 5、linux c 线程 - 上
  • 基于STM32的两路电压测量仿真设计Proteus仿真+程序设计+设计报告+讲解视频
  • 使用LVS的 NAT 模式实现 3 台RS的轮询访问
  • (学习总结30)Linux 进程优先级、进程切换和环境变量
  • 使用LLM 构建MCP服务端和客户端
  • 信息安全和病毒防护——防火墙的作用
  • SFT和RLHF是什么意思?
  • Axure项目实战:智慧城市APP(四)医疗信息(动态面板、选中交互应用)
  • Jboss中间件漏洞攻略
  • java学习笔记6
  • 【云馨AI-大模型】大模型的开发和应用中,Python、PyTorch和vLLM关系概括
  • 从扩展黎曼泽塔函数构造物质和时空的结构-1
  • netty框架概述
  • 女子应聘文员被说“太丑”?官方回应:有关部门启动核查处置
  • 英国知名歌手批政府:让AI公司免费使用艺术家作品是盗窃
  • 国际博物馆日|航海博物馆:穿梭于海洋神话与明代造船工艺间
  • 竞彩湃|足总杯决赛或有冷门,德甲欧冠资格之争谁笑到最后
  • 全国省市县国土空间总体规划已基本批复完成,进入全面实施阶段
  • 马上评|文玩字画竞拍轻松赚差价?严防这类新型传销