美文网首页C++编程
C++ : 内联函数和引用变量,赶紧get一下

C++ : 内联函数和引用变量,赶紧get一下

作者: 某某呆 | 来源:发表于2019-05-17 16:39 被阅读0次

一、内联函数

内联函数和普通函数的使用方法没有本质区别,我们来看一个例子,下面展示了内联函数的使用方法:

#include <iostream>

using namespace std;

//下面展示内联函数的使用

inline double square(double x)

{

return (x*x);

}

int main()

{

int a=12;

int b;

b=square(a);

cout<<b;//差点把C++当成Android了...... 就没有写cout,尴尬了

}

从上面我们可以看到我们定义一个内联函数只需要在普通函数的前面加上关键字inline就可以了,利用内联函数的优势则是可以让程序不需要跳转到另一个位置执行代码,直接遇到我们所定义的函数就可以进行执行了。因此会节省一些运行的时间。但是这个函数并没有得到广泛的使用,是因为使用这个,则会在另一方面增大系统的开销。一般前况下,如果执行函数代码的时间比处理函数调用的时间更长,则推荐使用这种方式,但如果执行函数代码的时间比处理函数调用的时间更短,则使用普通函数的效率会显得更高一些,因为我们算的是总体的程序运行时间。不然在第二种情况下,所有的程序资源都用于调用函数上面去了,我觉得实在是太花费时间了。

小编是一个有着6年工作经验的工程师,关于C++,编程,自己有做材料的整合,一个完整的C++编程学习路线,学习资料和工具,能够进我的群7253,-91790收取,免费送给大家,希望你也能凭着自己的努力,成为下一个优秀的程序员

二、引用变量

1、一般情况下的引用变量是我们现有变量的一个拷贝,相当于我们可以利用一个新的变量名称来代替原变量的使用,下面是一个小例子:

#include <iostream>

using namespace std;

int main()

{

int rats=101;

int &rodents=rats;//这里定义了引用变量rodents

cout<<"rats="<<rats;

cout<<",rodents="<<rodents<<endl;

rodents++;

cout<<"rats="<<rats;

cout<<",rodents="<<rodents<<endl;

cout<<"rats的地址是"<<&rats<<endl;

cout<<"rodents的地址是"<<&rodents<<endl;

}

输出结果:

rats=101,rodents=101

rats=102,rodents=102

rats的地址是0x6ffe34

rodents的地址是0x6ffe34

从中可以知道rats和rodents的值是相同的,就连地址都是相同的。

2、如果我们将第三个变量赋值给rodents变量,会有什么不同呢?

程序如下:

#include <iostream>

using namespace std;

int main()

{

int rats=101;

int &rodents=rats;//这里定义了引用变量rodents

int c=41;//这里我们定义的是第三者

cout<<"rats="<<rats;

cout<<",rodents="<<rodents<<endl;

rodents++;

cout<<"rats="<<rats;

cout<<",rodents="<<rodents<<endl;

cout<<"rats的地址是"<<&rats<<endl;

cout<<"rodents的地址是"<<&rodents<<endl;

//下面进入第三者,一个很神奇的第三者

cout<<"下面我们进入第三者"<<endl;

rodents=c;

cout<< "rats="<<rats<<endl;

cout<<"rodents="<<rodents<<endl;

cout<<"rats的地址是"<<&rats<<endl;

cout<<"rodents的地址是"<<&rodents<<endl;

cout<<"c的地址是"<<&c<<endl;

}

结果如下:

rats=101,rodents=101

rats=102,rodents=102

rats的地址是0x6ffe34

rodents的地址是0x6ffe34

下面我们进入第三者

rats=41

rodents=41

rats的地址是0x6ffe34

rodents的地址是0x6ffe34

c的地址是0x6ffe30

这个时候我们可以看到第三者的地址和前两者的地址是不一样的,但是值却是一样的,因为这种情况就相当于将第三者直接复制给了第一者,其间的引用并没有对它产生任何在地址上的影响,这也十分容易理解。

相关文章

  • C++ : 内联函数和引用变量,赶紧get一下

    一、内联函数 内联函数和普通函数的使用方法没有本质区别,我们来看一个例子,下面展示了内联函数的使用方法: #inc...

  • 《C++ Primer Plus》:函数探幽

    本章内容概览 内联函数 引用变量 按引用传递函数参数 默认参数 函数重载 函数模板 内联函数 内联函数是C++为提...

  • C++基础(引用和函数的高级算法)

    C++基础 引用和函数的高级算法 课程目标 引用的优点和使用方法 引用函数,内联函数,默认参数函数,递归函数。 引...

  • 第八章 函数探幽(1)c++内联函数

    c++赋予了一些新的关于函数的特性,包括,内联函数,按引用传递变量,默认的参数值,函数重载(多态),以及模板函数...

  • 03_C++笔记_函数二

    函数指针: 内联函数: 引用 将引用变量作为参数(交换两个数的实现): 引用的属性和特别之处: 引用用于结构: 将...

  • c++第一讲

    目标 c++关键字 命名空间 c++输入和输出 缺省参数 函数重载 引用 内联 auto关键字 基于范围的for循...

  • 第九章 内联函数

    简介:C++中预处理器宏存在的问题,在C++中如何用内联函数解决这些问题以及使用内联函数的方针和内联函数的工作机制...

  • C与C++回顾

    c++:更好的c,c的超集 c++基本知识cin,cout命令空间引用:别名 T&x=p 高级函数的特性 内联函数...

  • C++内联函数与C语言函数宏

    C++内联函数 什么是内联函数? 在函数的声明和定义前加一个 inline 关键字,这个函数就是内联函数。 通常会...

  • 宏定义min

    C++内联函数

网友评论

    本文标题:C++ : 内联函数和引用变量,赶紧get一下

    本文链接:https://www.haomeiwen.com/subject/owmoaqtx.html