我在一个方法中创建了一个类A的对象。这个方法还创建了一个类B的实例,它以构造函数参数形式接受刚刚创建的A对象。B必须拥有A对象的所有权,但不能修改它。这意味着当删除B时,A应该被删除,但在B的生命周期内它不能修改A。
在这种情况下,将std::unique_ptr作为B的成员变量是传递A的所有权的正确方式(在B的构造函数中使用std::move),并保证它不会被修改。
在这种情况下,将std::unique_ptr作为B的成员变量是传递A的所有权的正确方式(在B的构造函数中使用std::move),并保证它不会被修改。
const A*a->~A();
的话。 - Walter