传值与传引用
来源:互联网 发布:linux查看进程id 编辑:程序博客网 时间:2024/05/01 02:23
传引用相比于传值具有以下优点:
1.能够避免拷贝构造函数和临时对象的析构函数的调用开销;
1.能够避免拷贝构造函数和临时对象的析构函数的调用开销;
2.能够避免将派生类对象传递给基类形参时产生的切割现象,切割现象会将派生类所具有的特性都切割掉,变成一个简单的基类对象。
#include<iostream>using namespace std;class Base{public:Base(){}virtual void display(){cout<<"Base::display()"<<endl;}Base(const Base& rhy){cout<<"Base::Base(const Base& rhy)"<<endl;}virtual ~Base(){cout<<"Base::~Base()"<<endl;}};class Derived:public Base{public:Derived():Base(){}void display() override{cout<<"Derived::display()"<<endl;}Derived(const Derived& rhy):Base(rhy){cout<<"Derived::Derived(const Derived& rhy)"<<endl;}~Derived(){cout<<"Derived::~Derived()"<<endl;} };Base function(Base demo){demo.display();return demo;}Base& function2(Base& demo){demo.display();return demo;}int main(){Derived derived;cout<<"传值下的函数调用与切割现象"<<endl; function(derived);cout<<"传引用下的函数调用,无切割现象"<<endl;function2(derived);system("pause");//观察main函数退出之前的函数调用情况 }
0 0
- 传值与引用
- php 引用传值与引用返回
- 传引用与传值
- 传值与传引用
- 传值与传引用
- OC 引用与传值
- 举例说明:传值引用与传地址引用的区别
- Java 引用和赋值 传值与传引用
- 引用传值与指针传值
- JAVA中的传值与传引用
- JavaScript中的传值与传引用
- JavaScript中的传值与传引用
- JavaScript中的传值与传引用
- JavaScript中的传值与传引用
- java传值与传引用
- Java传值与传引用
- Java传值与传引用
- 传值与传引用的区别
- modbus通讯协议及其原理
- Activity和Service的交互(学习笔记)
- markdown语法(看这张图就够了)
- MATLAB的小技巧
- [2016.01.20]CTEX_DAY1
- 传值与传引用
- 27 电话号码排序
- Android中给LineayLayout加边框
- C#queue队列总结
- CSS之基础知识
- mysql 的表
- javax.el.PropertyNotFoundException: Property 'name' not found on type java.lang.String
- win10清理自带xbox,天气等应用
- 视频播放器