我可以告诉对象删除我吗?
Can i tell an object to delete me?
classA
的对象a
通过指针调用classB
的对象b
:
void A::fun(){
bPtr->delete_me();
}
在被调用函数中我们通过一个指针删除调用对象(之前已经存储):
void B::delete_me(){
delete aPtr;
}
考虑到 A
在调用 bPtr->delete_me();
后 不会 访问它的任何成员,这安全吗?
Is this safe, given that A
does not access any of its members after calling bPtr->delete_me();
?
是的。它与 delete this;
非常相似,已讨论 here。
classA
的对象a
通过指针调用classB
的对象b
:
void A::fun(){
bPtr->delete_me();
}
在被调用函数中我们通过一个指针删除调用对象(之前已经存储):
void B::delete_me(){
delete aPtr;
}
考虑到 A
在调用 bPtr->delete_me();
后 不会 访问它的任何成员,这安全吗?
Is this safe, given that
A
does not access any of its members after callingbPtr->delete_me();
?
是的。它与 delete this;
非常相似,已讨论 here。