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

编程笔记 - C++ 完美转发

C++ 完美转发是泛型编程里一个关键特性,用来在模板函数中保持参数的“原始值类别”(lvalue/rvalue)和属性(const、引用)。

背景

在模板编程中,函数参数往往需要被“原封不动”地传递到另一个函数。例如:

  • 如果传入的是左值,就要继续作为左值传给目标函数;
  • 如果传入的是右值,就要继续作为右值传给目标函数。

直接写模板会遇到一个问题:参数类型容易丢失引用或值类别,导致额外拷贝或无法调用合适的重载。如下所示:

template<typename T>
void wrapper(T arg) {process(arg); // 无论传入左值还是右值,arg都是左值
}

基本机制

完美转发主要依赖于两个机制:

1. 转发引用

T 是模版类型参数时,T&& 可以绑定到任何类型的参数(左值或者右值)。它遵循引用折叠规则

  • 当传入左值时,T 推导为 T&,于是 T&& 折叠为 T& && -> T&
  • 当传入右值时,T 推导为 T&&,于是 T&& 折叠为 T&& && -> T&&
2. forward

std::forward<T>(arg) 会根据 T 的类型,决定是转为左值引用还是右值引用,从而保持原始的值类别。

示例:工厂函数

template<typename T, typename... Args>
std::unique_ptr<T> make_unique(Args&&... args) {return std::unique_ptr<T>(new T(std::forward<Args>(args)...));
}

完美转发主要用于在泛型编程和库设计中提升灵活性和效率,减少拷贝和临时对象。

http://www.hskmm.com/?act=detail&tid=26626

相关文章:

  • PCIe扫盲——链路初始化与训练基础(一)
  • 2025 年国内色母粒厂家最新推荐排行榜:聚焦食品级医疗级等多品类,精选综合实力强服务优的企业食品级色母粒/医疗级色母粒 TPU色母粒/透明色母粒/PC色母粒/黑色母粒/白色母粒厂家推荐
  • 2025 波纹管生产厂家最新推荐榜:预应力 / 镀锌金属等品类精选,成都津钢领衔优质品牌清单
  • 2025 年国内废气处理厂商最新推荐排行榜:聚焦综合实力与服务能力,精选优质品牌助企业合规转型
  • 2025 年最新推荐铁附件实力厂家榜单:涵盖电力金具 / 热镀锌 / 线路 / 10 - 35KV 等多类型产品,助力工程方精准筛选优质合作企业
  • 2025 年电力金具厂家最新推荐排行榜:覆盖出口 / 玛钢 / 联板 / 横担 / 抱箍 / 线夹等品类,为采购提供权威参考
  • c++/c语音分号的使用情况
  • PCIe扫盲——物理层逻辑部分基础(三)
  • 2025 年镀膜靶材制造厂家最新推荐权威榜单:铬靶 / 镍靶 / 钛靶等优质产品供应商综合实力深度解析
  • 2025 年钛合金材料生产厂家最新推荐排行榜:涵盖 TA1/TA2/TC4 等材质及钛板钛管等产品的实力企业精选
  • AI元人文的扰动哲学:驱动文明演进的动态张力
  • .NET驾驭Word之力:数据驱动文档 - 邮件合并与自定义数据填充完全指南
  • 编程笔记 - C++ 移动语义
  • 2025 年最新推荐压电陶瓷制造厂家:深度解析品牌价值、市场影响力及高性价比选型指南高D33/pzt/高性能/替代进口/高稳定性压电陶瓷厂家推荐
  • ros2 学习笔记
  • 对vue的疑惑
  • 2025 年最新保温装饰一体板厂家口碑排行榜:优选西宁及全国靠谱生产厂家,助力建筑项目精准选品装配式一体板 / 装配式复合一体板 / 珍珠岩复合保温一体板 / 免拆保温一体板厂家推荐
  • 2025 年景观石厂家最新推荐榜单:千层石 / 泰山石等各类景观石优质企业全方位解析及选购指南驳岸石/太湖石/龟纹石/草坪石景观石厂家推荐
  • 浏览器标签管理
  • 勒索软件攻击导致欧洲机场系统瘫痪
  • 【Java】CopyOnWriteArrayList - 指南
  • 2025 年保温板生产厂家最新推荐榜单:覆盖一体化 / 免拆模 / LS 外模等多类型产品,助力建筑企业精准挑选优质供应商
  • 测试程序运行所用的时间
  • Chintai利用EOSIO区块链技术实现数字资产自动化金融
  • AI元人文理论体系:涌现性扰动与规范性扰动的对立统一
  • 用AI编程开发AA记账小程序——我的AA小账簿
  • cssDay1
  • 【光照】Unity[光照烘焙]的原理与具体流程
  • 2025 最新推荐!办公桌厂商权威榜单重磅发布,涵盖老板 / 员工 / 实木 / 屏风办公桌优质之选
  • 2025 办公家具厂家最新推荐榜:实木 / 现代 / 环保 / 智能 / 定制品类精英盘点,5 大优选品牌选购指南