Effecitive C++_Item20笔记

来源:互联网 发布:淘宝开店需要保证金吗 编辑:程序博客网 时间:2024/06/07 13:53
  1. 默认情况下C++使用值传递的方式向函数传递参数,而且传递的参数会是一个副本,以const reference的形式传递参数可以大幅度提升效率
  2. 考虑一种发生在值传递下的情况,函数的形参是一个基类对象,这是通过值传递传过来的是一个派生类的对象,派生类的对象在此会发生参数切割的问题,假设在基类中有一个虚函数在派生类中被重写了,在传递进来的过程中,进来的是一个带有虚函数重写的派生类对象,那么在这个函数中调用那个函数的时候,使用的是基类的函数而不是派生类的函数,如果在这种情况下,采用引用传递的方式来传递一个派生类对象给一个按引用传递的形参,那么传进来的是什么类型,形参就会表现什么类型
  3. 在C++的编译器中reference往往使用的指针来实现出来的,所以引用传递往往意味着传递真的指针,如果需要传递的是一个C++内置类型,比如int,往往传递参数比传递引用效率高一些
首发于我的个人网站: 点击打开链接
0 0
原创粉丝点击