gpt4 book ai didi

c++ - 如何从 c++ 的一个方面(aspect c++)释放或删除函数中分配的对象?

转载 作者:太空宇宙 更新时间:2023-11-04 13:40:17 27 4
gpt4 key购买 nike

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

让我们想象一下,我有一个这样的名为 A 的类:

class A{
Foo* fooObject;

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

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

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

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

最佳答案

您无法访问 fooObjects,因为它是私有(private)成员。您可能必须将“方面 FreeMemory”声明为“ friend ”类(公共(public)部分是正确的)。

关于c++ - 如何从 c++ 的一个方面(aspect c++)释放或删除函数中分配的对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27960821/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com