zoukankan      html  css  js  c++  java
  • 引用变量&和指针*的区别

    &在C/C++中做右值时,为取地址运算符,来指示变量的地址。C++给&符号赋予了另外一个含义,将其用来声明引用。

    引用变量的作用:

    1、别名

    int b = 0;

    int& a = b;

    2、用作函数参数

    和指针作为函数参数一样,可以提高函数的效率,函数参数在按值传递的情况下,会产生一个临时的副本。

    //引用:
    
    void func(int& x);
    
    int a = 0;
    
    func(a);
    
    //指针:
    
    void func(int* x);
    
    int a = 0;
    
    func(&a);
    
    //值传递:
    
    int func(int* x);
    
    int a = 0;
    
    int result = func(a);

    void func(int& x){
      x = x * x;
    }
    void func(int* x){
      *x = (*x) * (*x);
    }
    int func(int x){
      int result = x * x;
      return result;
    }

    3、用于函数返回值

    用引用作函数的返回值的最大的好处是在内存中不产生返回值的副本

    StringBad& StringBad::operate=(const StringBad& other);

     

    引用使用的注意事项:

    1、必须在声明引用的时候初始化,这与指针不同,指针可以先声明,后赋值,引用的这个属性和const类似。

      引用不能为空,不存在空引用,但是指针却可以存在空指针,这就意味着我们拿到一个引用时不需要判断引用是否为空,但是如果拿到的是一个指针,则需要判断指针是否为空之后再进行指针的进一步操作。

    2、引用一旦建立,将一直效忠于他,不能再引用。

  • 相关阅读:
    vue 页面设置title
    git clone 下载慢 解决方法 码云
    nestjs pm2 启动 静态文件404报错
    Linux释放内存空间
    DBMS_STATS.GATHER_SCHEME_STATS学习
    TPCH测试工具
    Oracle中shrink space命令
    java 测试框架 TestNG
    数据库与linux中quota的作用
    java 测试框架
  • 原文地址:https://www.cnblogs.com/zhousong918/p/10424151.html
Copyright © 2011-2022 走看看