我有一个简单的c ++类 - 其中包含一些任务。
concurrency::task<void> m_task1;
我想取消析构函数中的任务。但我可以看到析构函数永远不会被执行。我担心这会造成内存泄漏。为什么不执行析构函数?
class MyClass
{
public:
explicit MyClass(MyException func);
~MyClass();
void Start(int interval = 2000);
private:
concurrency::task<void> m_task;
concurrency::cancellation_token_source m_cancellationToken;
...
};
/// <summary>Destructor.</summary>
MyClass::~MyClass()
{
// I clean up here
}