Effecitive C++_Item20笔记
来源:互联网 发布:淘宝开店需要保证金吗 编辑:程序博客网 时间:2024/06/07 13:53
- 默认情况下C++使用值传递的方式向函数传递参数,而且传递的参数会是一个副本,以const reference的形式传递参数可以大幅度提升效率
- 考虑一种发生在值传递下的情况,函数的形参是一个基类对象,这是通过值传递传过来的是一个派生类的对象,派生类的对象在此会发生参数切割的问题,假设在基类中有一个虚函数在派生类中被重写了,在传递进来的过程中,进来的是一个带有虚函数重写的派生类对象,那么在这个函数中调用那个函数的时候,使用的是基类的函数而不是派生类的函数,如果在这种情况下,采用引用传递的方式来传递一个派生类对象给一个按引用传递的形参,那么传进来的是什么类型,形参就会表现什么类型
- 在C++的编译器中reference往往使用的指针来实现出来的,所以引用传递往往意味着传递真的指针,如果需要传递的是一个C++内置类型,比如int,往往传递参数比传递引用效率高一些
0 0
- Effecitive C++_Item20笔记
- Effecitive 读书笔记
- C++之宁以pass-by-reference-to-const替换pass-by-value(20)---《Effecitive C++》
- Effecitive Java 读书笔记 (一)
- Effecitive Java 读书笔记 (三)
- Effecitive C++ 28. Avoid returning "handle" to object internals
- C - 笔记
- c笔记
- c笔记
- C 笔记
- c 笔记
- C笔记
- C笔记
- C笔记
- C 笔记
- C 笔记
- C笔记
- c 笔记
- Android view背景动态改变带简单淡入淡出动画
- poj3260&&hdu3591 多重背包+完全背包
- 1023. Have Fun with Numbers (20)
- 动态库的编写和使用
- POJ 3601 Tower of Hanoi
- Effecitive C++_Item20笔记
- 多线程——继承Thread 类和实现Runnable 接口的区别
- 公告
- JAVA ASCII码 读入字符串测试
- C与C++中的enum类型使用
- 在Ubuntu中安装Visual Studio Code
- Begin_With_AngularJS(1)基础:ng-app,ng-controller,代码分离,模板,作用域等
- 欧拉函数模板
- codeforces 589d(相遇问题)