c++相对于C提供的新的函数特性

新特性包含 内联函数、按引用传递变量、默认的参数值、函数重载(多态) 以及模板函数

内联函数:是c++为了提高程序运行速度所做的一项改进。常规函数与内联函数的区别不在于编写方式,而在与C++编译器如何将他们组合到程序中。

程序执行函数调用指令时,程序将在函数调用后立即存储该指令的内存地址,并将函数参数复制到堆栈(为此保留的内存块),跳到标记函数起到的内存单元,执行函数代码(也许还需将返回值放入到寄存器中),然后调回到地址被保存的指令处。来回跳跃并记录跳跃位置需要一定的开销。

内联函数的编译代码与其他程序代码“内联”起来了。即:编译器使用相应的函数代码替换函数调用。 程序无需跳转,但是代价是:需要更多的内存。 如果程序在10个不同的地方调用同一个内联函数,改程序将包含该函数的10个代码拷贝。

如果执行函数代码的时间比处理函数调用机理的时间长,则所节省的时间很少,则不选择内联函数。通常,如果函数定义占用多行,则将其作为内联函数就不太合适。

在函数声明和定义前添加: inline。

引用变量:引用是已定义的变量的别名。  引用变量的主要用途是用作函数的参数,通过将引用变量用作参数,函数将使用原始数据,而不是拷贝。 

引用与指针的差别:必须在声明引用时将其初始化。而不像指针那样,先声明,再赋值。 引用一旦被初始化,便不能改变其指向。、

引用经常被用作函数参数,是的函数中的变量名成为调用程序中的变量的别名,这种传递参数的方法称为按引用传递。C++新增的这项特性是对C的超越,C只能按值传递。

临时变量、引用参数和const:如果实参与引用参数不匹配,C++将生成临时变量。现在,仅当参数为const引用时,C++才允许这样做,但这是一种新的限制。

应尽可能使用const:将引用参数声明为常量数据的引用的理由有3条:

  1. 使用cosnt 可以避免无意中修改数据的编程错误
  2. 使用const 使函数能够处理const 和非const类型实参,否则只能接受非const 数据。
  3. 使用const 引用使函数能够正确生成并使用临时变量。

引用非常适合用于结构和类。

 是否应使用引用的两个依据:程序员能够修改调用函数中的数据对象;通过传递引用而不是整个数据对象,可以提高程序的运行速度。

转载于:https://www.cnblogs.com/babysunnie/p/3198538.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值