zoukankan      html  css  js  c++  java
  • 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是一个常量表达式
    

    带有参数值的函数

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

  • 相关阅读:
    在网页中实现截屏粘贴的功能
    CSS3 @font-face 做自定义图标
    Visual Studio报错一箩筐(持续更新)
    Axure实现vcg官网首页原型图
    Axure实现bootstrap首页线框图
    Web第一天——准备篇
    vue动态加载组件
    组件封装之将代码放到npm上
    node连接mysql生成接口,vue通过接口实现数据的增删改查(二)
    autoCAD2007 快捷键 标注
  • 原文地址:https://www.cnblogs.com/jackson1/p/13092444.html
Copyright © 2011-2022 走看看