Мне нужен способ освободить или же удалять выделенная память в функции в классе, из аспект с ++.
Давайте представим, что у меня есть класс с именем A, например:
class A{
Foo* fooObject;
public:
A() {
fooObject = new Foo();
}
}
и я должен определить аспект как это:
aspect FreeMemory{
advice execution("void A(void)") : after()
{
delete fooObject;
}
};
Но в аспекте FreeMemory я не могу получить доступ к fooObject. Мне нужен способ решить мою проблему. Любая помощь?
Вы не можете получить доступ к fooObjects, потому что это приватный участник.
Вы, вероятно, должны объявить «аспект FreeMemory» в классе (публичная часть будет права) как «друг».