新特性包含内联函数、按引用传递变量、默认的参数值、函数重载(多态) 以及模板函数。
内联函数:是c++为了提高程序运行速度所做的一项改进。常规函数与内联函数的区别不在于编写方式,而在与C++编译器如何将他们组合到程序中。
程序执行函数调用指令时,程序将在函数调用后立即存储该指令的内存地址,并将函数参数复制到堆栈(为此保留的内存块),跳到标记函数起到的内存单元,执行函数代码(也许还需将返回值放入到寄存器中),然后调回到地址被保存的指令处。来回跳跃并记录跳跃位置需要一定的开销。
内联函数的编译代码与其他程序代码“内联”起来了。即:编译器使用相应的函数代码替换函数调用。 程序无需跳转,但是代价是:需要更多的内存。 如果程序在10个不同的地方调用同一个内联函数,改程序将包含该函数的10个代码拷贝。
如果执行函数代码的时间比处理函数调用机理的时间长,则所节省的时间很少,则不选择内联函数。通常,如果函数定义占用多行,则将其作为内联函数就不太合适。
在函数声明和定义前添加: inline。
引用变量:引用是已定义的变量的别名。引用变量的主要用途是用作函数的参数,通过将引用变量用作参数,函数将使用原始数据,而不是拷贝。
引用与指针的差别:必须在声明引用时将其初始化。而不像指针那样,先声明,再赋值。 引用一旦被初始化,便不能改变其指向。、
引用经常被用作函数参数,是的函数中的变量名成为调用程序中的变量的别名,这种传递参数的方法称为按引用传递。C++新增的这项特性是对C的超越,C只能按值传递。
临时变量、引用参数和const:如果实参与引用参数不匹配,C++将生成临时变量。现在,仅当参数为const引用时,C++才允许这样做,但这是一种新的限制。
应尽可能使用const:将引用参数声明为常量数据的引用的理由有3条:
- 使用cosnt 可以避免无意中修改数据的编程错误
- 使用const 使函数能够处理const 和非const类型实参,否则只能接受非const 数据。
- 使用const 引用使函数能够正确生成并使用临时变量。
引用非常适合用于结构和类。
是否应使用引用的两个依据:程序员能够修改调用函数中的数据对象;通过传递引用而不是整个数据对象,可以提高程序的运行速度。原文链接: https://www.cnblogs.com/babysunnie/p/3198538.html
欢迎关注
微信关注下方公众号,第一时间获取干货硬货;公众号内回复【pdf】免费获取数百本计算机经典书籍
原创文章受到原创版权保护。转载请注明出处:https://www.ccppcoding.com/archives/96308
非原创文章文中已经注明原地址,如有侵权,联系删除
关注公众号【高性能架构探索】,第一时间获取最新文章
转载文章受原作者版权保护。转载请注明原作者出处!