C++ std::用于转移常量对象所有权的唯一\u ptr

C++ std::用于转移常量对象所有权的唯一\u ptr,c++,c++11,constants,unique-ptr,ownership,C++,C++11,Constants,Unique Ptr,Ownership,我在一个方法中创建了一个类为A的对象。此方法还创建对象B的实例,该实例将刚创建的对象A作为构造函数参数B必须拥有对象A的所有权,但它不能修改它。这意味着在删除B时应删除A,但在B的生存期内,它不能修改A 在这种情况下,astd::unique\u ptr作为B的成员变量是转移a所有权的正确方法(在B的构造函数中使用std::move),并保证它不会被修改 是的,这正是您要寻找的语义std::unique_ptr声明“我拥有T对象。”指向const A的指针(原始或智能)声明“我无法修改我指向的A

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


在这种情况下,a
std::unique\u ptr
作为
B
的成员变量是转移
a
所有权的正确方法(在
B
的构造函数中使用
std::move
),并保证它不会被修改

是的,这正是您要寻找的语义
std::unique_ptr
声明“我拥有
T
对象。”指向
const A
的指针(原始或智能)声明“我无法修改我指向的
A
。”总之,这正是你想要的。

也许你应该添加一个关于
const A*A->A()的词