c++(引用, 内联函数,constexpr函数,带有参数值的函数)

C++引用

1. 什么是引用

引用变量是一个别名,也就是说,它是某个已存在变量的另一个名字。一旦把引用初始化为某个变量,就可以使用该引用名称或变量名称来指向变量。

2. C++ 引用 vs 指针

引用很容易与指针混淆,它们之间有三个主要的不同:

  • 不存在空引用。引用必须连接到一块合法的内存。
  • 一旦引用被初始化为一个对象,就不能被指向到另一个对象。指针可以在任何时候指向到另一个对象。
  • 引用必须在创建时被初始化。指针可以在任何时间被初始化。

我们可以为 i 声明引用变量,如下所示:

int&  r = i;
double& s = d;

3. 总结:

当我们用引用类型来声明变量时,如果用已经引用的引用类型变量时,这个引用变量类型会指向引用大的地方,修改它时会改变原来的值。

c++内联函数

1.什么是内联函数

  • 声明时使用关键字 inline。
  • 编译时在调用处用函数体进行替换,节省了参数传递、控制转移等开销。
  • 注意:n 内联函数体内不能有循环语句和switch语句; n 内联函数的定义必须出现在内联函数第一次被调用之前; n 对内联函数不能进行异常接口声明。

实例:

#include <iostream>

using namespace std;

const double PI = 3.14159265358979;

inline double calArea(double radius) {

          return PI * radius * radius;

}

int main() {

          double r = 3.0;

          double area = calArea(r);

          cout << area << endl;

          return 0;

}

constexpr函数

constexpr函数语法规定

constexpr修饰的函数在其所有参数都是constexpr时,一定返回constexpr;

函数体中必须有且仅有一条return语句。

constexpr的变量的值必须是编译器在编译的时候就可以确定的。

constexpr函数举例

constexpr int get_size() { return 20; }

constexpr int foo = get_size();  //正确:foo是一个常量表达式

带有参数值的函数

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

posted @ 2020-06-11 12:22  jacksonni  阅读(253)  评论(0编辑  收藏  举报