传递对象
来源:互联网 发布:php 删除文件 编辑:程序博客网 时间:2024/05/31 19:40
按值传递对象时,会调用该对象的复制构造函数创建一个临时副本,如果返回值也是对象则又要调用该对象的复制构造函数来创建一个临时副本。例程如下:
#include<iostream>using namespace std;class A{public:A(){cout<<"调用构造函数"<<endl;}//复制构造函数A(A&){cout<<"调用复制构造函数"<<endl;}~A(){cout<<"调用析构函数"<<endl;}};A fun(A a){return a;}int main(){A a;fun(a);return 0;}
输出结果如下:
按值传递对象的缺点是系统内存开销大。解决的方法是按地址传递或按引用传递。
例程如下:
#include<iostream>using namespace std;class A{public:A(){cout<<"调用构造函数"<<endl;}//复制构造函数A(A&){cout<<"调用复制构造函数"<<endl;}~A(){cout<<"调用析构函数"<<endl;}};A *fun(A *a){return a;}int main(){A a;fun(&a);return 0;}
结果如下
或者:
#include<iostream>using namespace std;class A{public:A(){cout<<"调用构造函数"<<endl;}//复制构造函数A(A&){cout<<"调用复制构造函数"<<endl;}~A(){cout<<"调用析构函数"<<endl;}};A &fun(A &a){return a;}int main(){A a;fun(a);return 0;}
输出结果如上。
- 传递对象
- 对象传递
- C++ 传递对象---用值传递对象
- 对象锁:传递对象锁
- java中的对象传递;
- wsdl 对象 数组 传递
- 利用js传递对象
- java对象的传递
- request对象传递数组
- Intent传递对象?
- activity间传递对象
- Android传递对象
- SharedPreferences对象,传递数据
- Activity 传递 List对象
- handle中传递对象
- Intent传递对象?
- android 之对象传递
- struts2 json传递对象
- mysql 性能优化方案
- 《牡丹亭》摘录
- Hadoop通过C的API访问HDFS
- boost c++编译备忘
- java 多线程
- 传递对象
- Windows编写第一个程序注意:
- 对异常的一些体会、认识
- 如何动态修改ddraw 表面的width和height
- (转)URLDownloadToFile
- 黑马程序员——Java集合类
- (转)为 URLDownloadToFile 实现进度条
- Ubuntu挂载LVM磁盘
- 格式化XML