【发布时间】:2011-04-28 14:36:12
【问题描述】:
Circle 是一个类,具有公共方法GetDiameter()。
下面2组代码有什么区别?
Qn1: 方法 1 是否在 堆栈 上为 c 分配内存(因此不需要空闲内存),而 方法2在堆上为c分配内存(需要手动释放内存)?
Qn2:我们什么时候应该使用方法1或方法2?
方法一:
void Init()
{
Circle c;
c.GetDiameter();
return;
}
方法二:
void Init()
{
Circle *c = new Circle();
c->GetDiameter();
return;
}
【问题讨论】:
-
你是怎么知道的? :)
-
我怀疑它。只是想确认一下。