C++学习第二十六天----内联函数与引用变量

        1.内联函数

        可以举个例子说明内联函数与常规函数的区别:比如我们去吃饭,常规函数代码本身消耗时间并不长,时间主要浪费在了去跳转执行代码的路上,就好像吃饭花了10分钟,来回路上各花了1个小时一样。

        内联函数就是在每个需要调用的地方复制一个副本一样,所以每调用一次就多一个副本,造成空间的大量使用。

        二者比较,常规函数是节省空间,但是效率稍低;内联函数是效率高,但是占用内存。

        那么如何选择性的去使用二者呢?那就要看执行函数代码的时间(也就是上面所说的吃饭)和处理函数调用机制的时间(也就是上面所说的路长)了。

        内联函数如何进行处理在上文说过了。

        注意一下内联函数不能是递归,代码量也不能太大。

2.内联函数与宏

        预处理语句#define来提供宏,但是它与内联函数有一个巨大的区别就是:举例

#define SQUARE(X) X*X
inline double square(double x) {return x * x}

当这么使用的时候:
a = SQUARE(3.5 + 4.5);//实际是这么计算的a = 3.5 + 4.5 * 3.5 + 4.5;

但是内联函数不一样,就是先求和再乘,这么说能够理解吧

        这是由于宏不是按值传递的,内联函数是按值传递的。

3.引用变量

        引用是已定义的变量的别名(另一种名称,可以理解为外号)。引用变量的主要用途是用作函数的形参。通过将引用变量用作参数,函数将使用其原始数据,而不是副本。是不是和指针有点类似。

可以看下这篇的4。

C++学习第二十四天----函数_The Kite的博客-CSDN博客

        

你可能感兴趣的:(学习)