跳转至

ev-mold-move-unique-member-002

字段 值
项目 rui314/mold
固定 commit 27162691b71a
路径 src/input-sections.cc
行段 L343-L345
特性 移动语义与右值引用
许可证 MIT
代码来源 项目源码
级别 manual
审核 zyuhao7 @ 2026-10-27
测试代码 否
发现方式 manual

用法

在成员初始化列表里用 std::move 转移 unique_ptr 的所有权

为什么典型

unique_ptr 不可拷贝,移动是让它进入成员的唯一方式,同时明确所有权转交。

摘录

MergeableSection<E>::MergeableSection(Context<E> &ctx, MergedSection<E> &parent,
                                      std::unique_ptr<InputSection<E>> &isec)
  : parent(parent), section(std::move(isec)), p2align(section->p2align) {

备注

生产路径;可合并输入段的构造,所有权从调用方转移到段对象。

查看固定 commit 源码 · 返回证据索引