gpt4 book ai didi

c++ - std::unique_ptr 转移 const 对象的所有权

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:14:34 24 4
gpt4 key购买 nike

我有一个 A 类的对象在方法内部创建。此方法还创建对象的实例 B将对象 A 作为构造函数参数刚刚创建。 B必须取得对象的所有权A但它不能修改它。这意味着 A B 时应删除被删除,但在 B 的生命周期内它不能修改 A .

在本例中为 std::unique_ptr<const A>作为B的成员变量是转移 A 所有权的正确方法(在 std::move 的构造函数中使用 B )并保证它不会被修改?

最佳答案

是的,这正是您正在寻找的语义。 std::unique_ptr<T>声明“我拥有 T 对象。”指向 const A 的指针(原始或智能)声明“我无法修改我指向的 A”。总而言之,这正是您所追求的。

关于c++ - std::unique_ptr 转移 const 对象的所有权,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29034166/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com