1

我需要一种从c++方面释放删除类函数中分配的内存的方法。

让我们想象一下,我有一个名为 A 的类,如下所示:

class A{
Foo* fooObject;

public:
  A() {
    fooObject = new Foo();
  }
}

我必须定义这样的一个方面:

aspect FreeMemory{
     advice execution("void A(void)") : after()
     {
          delete fooObject;
     }
};

但在 FreeMemory 方面,我无法访问fooObject。我需要一种方法来解决我的问题。有什么帮助吗?

4

1 回答 1

0

您无法访问 fooObjects 因为它是私有成员。您可能必须将“aspect FreeMemory”声明为“朋友”类(公共部分是正确的)。

于 2015-01-15T10:23:48.877 回答