查看单个帖子
旧 2008-01-27, 10:14 PM   #3
huangyhg
超级版主
 
huangyhg的头像
 
注册日期: 04-03
帖子: 18592
精华: 36
现金: 249466 标准币
资产: 1080358888 标准币
huangyhg 向着好的方向发展
默认 回复: 效率问题之局部颠覆

4,直接返回对象的效率

class PNT100
{
public:
PNT100(){}

public
double x[100];
};

PNT100 GetValue()
{
return PNT100();
}

void Method()
{
PNT100 P = GetValue();
}

返回大对象是否效率很低呢?

结论:不低。当函数返回大对象时,编译器会在调用处栈上分配对象内存,然后将指针传递给函数,而并不是函数直接返回对象;
huangyhg离线中   回复时引用此帖