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()的词代码>