对象作为参数
class B
{
public:
B()
{
cout<<"default constructor"<<endl;
}
B( const B & para)
{
cout<<"copy destructor "<<endl;
}
B & operator = (const B ¶)
{
cout<<" operator ="<<endl;
return *this ;
}
~B()
{
cout<<"destructed"<<endl;
}
B(int i):data(i) //B(int) works as a converter ( int -> instance of B)
{
cout<<"constructed by parameter " << data <<endl;
}
private:
int data;
};
B Play( B b)
{
return b ;
}
B t1 = play(B(5));
play(5);
B t1 = play(5);
通过打印结果,上面三种调用方式,结果都是只有两个对象被构造
B t1 = play(B(5));
拿这个当例子,t1是一个对象,函数里那个形参 b是一个对象,可是其他的临时对象呢,怎么会没有了呢,比如B(5)不会产生临时对象吗?
还有
play(5);
B t1 = play(5); //这两个为什么都是两个呢,实在想不明白,第二个应该比第一个多一个呀
...全文
相关推荐
对象作为函数参数
对象作为函数参数 对象本身做参数(传值),传对象副本 对象引用做参数(传地址),传对象本身
spring MVC中传递对象参数示例详解
主要给大家介绍了在spring MVC中传递对象参数的相关资料,文中通过示例代码介绍的非常详细,对大家具有一定的参考学习价值,需要的朋友们下面来一起看吧。
JavaScript获取链接url参数并生成对象
js地址栏参数获取,并生成对象
Mybatis多参数及实体对象传递实例讲解
在使用Mybatis的时候,经常会有各种各样的参数传递,不同类型,不同个数的参数,下面小编通过例子给大家讲解下Mybatis多参数及实体对象传递,一起看看吧
从URL中提取参数与将对象转换为URL查询参数的实现代码
一、从URL中提取参数 有下列字符串: var linkURL = ‘http://localhost:8080/String/string_6.html?昵称=小西山子&age=24#id1’; 对于一个真实的URL地址,可以用js来读取location中的相关信息来获得某些信息,下面列举一些: 代码如下: location.origin : http://localhost【域】 location.pathname : /project_js/Javascript/js_basic/demo/String/string_6.html【URL路径】 location.host : loca



