【发布时间】:2013-07-13 11:53:35
【问题描述】:
class A {
struct structA;
}
其他地方:
structA* structAPointer = new structA;
遥远的土地:
void Wonderland::rabbitHole(structA* structAPointer) {
delete structAPointer;
}
delete 操作符是否释放在“Somewhere else”中分配的原始内存?
【问题讨论】:
-
如果
rabbitHole是用原来的structAPointer调用的,是的。 -
@Jeffrey 指针不应该通过引用传递吗?
-
@0x499602D2,不是真的。
delete运算符释放内存地址,而不是保存它的变量。
标签: c++