【发布时间】:2016-12-14 14:41:45
【问题描述】:
假设我有两个这样的课程:
controller.hpp(包含在 controller.cpp 中)
#include "testing.hpp"
class controller
{
public:
testing _testing; // call constructor
}
测试.hpp
class testing
{
public:
testing();
~testing();
}
如何调用testing 的析构函数并从controller.cpp 重新构造它?谢谢你。
【问题讨论】:
-
_testing = testing(); -
你不需要。它会在创建
controller类的实例时自动发生!如果您想调用默认构造函数以外的其他内容,请在controller类的构造函数中使用 member initialization list。 -
@LogicStuff 谢谢。这给了我一大堆关于我的原子变量上的 Boost 删除函数的错误。再打电话给
testing _testing;怎么样? -
@xinthose 这是一个数据成员声明。寻找解决您的错误的方法。你可能需要一个移动构造函数。
-
@LogicStuff OK。在这种情况下,我将如何使用移动构造函数?我在
testing类中使用原子布尔值:boost::atomic <bool> atomic_var {false};是testing _testing1;,_testing = std::move(testing1)?