标题:局部变量和临时变量的区别
取消只看楼主
mmppllhaha
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2012-9-8
结帖率:50%
已结贴  问题点数:20 回复次数:0 
局部变量和临时变量的区别
有个程序如下,最后结果为:
destructor:this=0x241ff2c,num=3
destructor:this=0x241ff5c,num=3
书上说第一个是fun2()的内部局部变量析构,第二个是fun2的返回临时对象析构
怎么理解呢?
#include<iostream>
using nameespace std;
class Test
{
public:
Test():num(0){}
Test(int number):num(number){}
~Test()
    {
        cout<<"destructor:this="<<this<<",num="<<num<<endl;
    }
private:
    int num;
};
Test fun2()
{
    Test t(3);
        return t;
}
int main(int argc,char* argv[])
{
fun2();
    return 0;
}
搜索更多相关主题的帖子: number public 
2012-09-10 14:51



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-381090-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.356435 second(s), 8 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved