首页 新闻 会员 周边

c++ 返回值,临时变量。谁能帮忙分析以下代码。

0
悬赏园豆:10 [待解决问题]

(1) 

#include<iostream>

using namespace std;

class Test{

 static int i; 

 public: 

 Test() 

 { 

 cout<<"ctor"<<endl; 

 }  

 Test(const Test&test) 

 {

 cout<<"copy ctor"<<endl;}

 ~Test(){

 cout<<"destory.."<<endl;

}

 void print() { }

};

Test F(Test x)

{ return x;}

int main()
{
    Test t1;
    
    Test t2;

t2=F(t1);

 

    return 0;
}

 

 

 

 

#include<iostream>

using namespace std;

class Test{

 static int i; 

 public: 

 Test() 

 { 

 cout<<"ctor"<<endl; 

 }  

 Test(const Test&test) 

 {

 cout<<"copy ctor"<<endl;}

 ~Test(){

 cout<<"destory.."<<endl;

}

 void print() { }

};

Test &F(Test &x)

{ return x;}

 

 

 

 

int main(){  

Test t1;   

Test t2;

t2=F(t1);

return 0;

}

 

 

#include<iostream>

using namespace std;

class Test{

 static int i; 

 public: 

 Test() 

 { 

 cout<<"ctor"<<endl; 

 }  

 Test(const Test&test) 

 {

 cout<<"copy ctor"<<endl;}

 ~Test(){

 cout<<"destory.."<<endl;

}

 void print() { }

};

Test &F(Test x)

{ return x;}

 

 

 

 

int main(){  

Test t1;   

Test t2;

t2=F(t1);

return 0;

}

 

 

#include<iostream>

using namespace std;

class Test{

 static int i; 

 public: 

 Test() 

 { 

 cout<<"ctor"<<endl; 

 }  

 Test(const Test&test) 

 {

 cout<<"copy ctor"<<endl;}

 ~Test(){

 cout<<"destory.."<<endl;

}

 void print() { }

};

Test F(Test &x)

{ return x;}

 

 

 

 

int main(){  

Test t1;   

Test t2;

t2=F(t1);

return 0;

}

 

 

(2)

#include<iostream>

using namespace std;

class Test{

 static int i; 

 public: 

 Test() 

 { 

 cout<<"ctor"<<endl; 

 }  

 Test(const Test&test) 

 {

 cout<<"copy ctor"<<endl;}

 ~Test(){

 cout<<"destory.."<<endl;

}

 void print() { }

};

Test F(Test x)

{ return x;}

int main()
{
    Test t1;
    
    Test t2=F(t1);

 

return 0;

 

 

#include<iostream>

using namespace std;

class Test{

 static int i; 

 public: 

 Test() 

 { 

 cout<<"ctor"<<endl; 

 }  

 Test(const Test&test) 

 {

 cout<<"copy ctor"<<endl;}

 ~Test(){

 cout<<"destory.."<<endl;

}

 void print() { }

};

Test &F(Test &x)

{ return x;}

 

int main(){  

Test t1;   

Test t2=F(t1);

return 0;

}

 

 

#include<iostream>

using namespace std;

class Test{

 static int i; 

 public: 

 Test() 

 { 

 cout<<"ctor"<<endl; 

 }  

 Test(const Test&test) 

 {

 cout<<"copy ctor"<<endl;}

 ~Test(){

 cout<<"destory.."<<endl;

}

 void print() { }

};

Test &F(Test x)

{ return x;}

int main(){  

Test t1;   

Test t2=F(t1);

return 0;

}

 

 

#include<iostream>

using namespace std;

class Test{

 static int i; 

 public: 

 Test() 

 { 

 cout<<"ctor"<<endl; 

 }  

 Test(const Test&test) 

 {

 cout<<"copy ctor"<<endl;}

 ~Test(){

 cout<<"destory.."<<endl;

}

 void print() { }

};

Test F(Test &x)

{ return x;}

int main(){  

Test t1;   

Test t2=F(t1);

return 0;

}

 

 

 

 

swmoment的主页 swmoment | 初学一级 | 园豆:194
提问于:2012-06-11 14:14
< >
分享
所有回答(4)
0

what do you want to say?

无之无 | 园豆:5095 (大侠五级) | 2012-06-11 14:19

例如

#include<iostream>

using namespace std;

class Test{

 static int i; 

 public: 

 Test() 

 { 

 cout<<"ctor"<<endl; 

 }  

 Test(const Test&test) 

 {

 cout<<"copy ctor"<<endl;}

 ~Test(){

 cout<<"destory.."<<endl;

}

 void print() { }

};

Test F(Test x)

{ return x;}

int main()
{
    Test t1;
    
    Test t2;

t2=F(t1);

 

    return 0;
}

结果是

ctor

ctor

copy ctor

copy ctor

destory

destory

destory

destory

 

 

支持(0) 反对(0) swmoment | 园豆:194 (初学一级) | 2012-06-11 14:25

#include<iostream>

using namespace std;

class Test{

 static int i; 

 public: 

 Test() 

 { 

 cout<<"ctor"<<endl; 

 }  

 Test(const Test&test) 

 {

 cout<<"copy ctor"<<endl;}

 ~Test(){

 cout<<"destory.."<<endl;

}

 void print() { }

};

Test &F(Test &x)

{ return x;}

 

 

 

 

int main(){  

Test t1;   

Test t2;

t2=F(t1);

return 0;

}

结果是

ctor

ctor

destory

destory

支持(0) 反对(0) swmoment | 园豆:194 (初学一级) | 2012-06-11 14:25
0

表述你的问题,你那里不明白,不要一堆代码,在我们看来,这些代码的输出是很好解释的,你那里不明白?学会怎么提问,怎么清楚的表述自己的问题,这比解决一个问题更重要。

zsounder | 园豆:2819 (老鸟四级) | 2012-06-12 12:45
0

看看《提问的智慧》,最近总是看到有些同学没能清楚的表述自己的问题,这样别人就不能给你想要的答案了

Graice | 园豆:204 (菜鸟二级) | 2012-06-16 15:39
0

我只能说提出的问题要让人容易理解怎么回答,这样才有更多的人愿意去回答。重新整理一下问题把!!!不清晰,让人无从下手的……加油!!!

VincentPass | 园豆:238 (菜鸟二级) | 2012-07-13 11:28
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册