美文网首页C++
C++引用注意

C++引用注意

作者: stefanJi | 来源:发表于2017-05-10 17:38 被阅读0次
    1. 不能建立void类型引用
    int a = 9;
    void &b = a;  //错误
    
    1. 不能建立引用的数组
    int a[] = {1,2,3,4};
    int &b[] = a;  //错误
    
    1. 可以将变量的引用的地址赋给一个指证,此时指针指向的是原来的变量
      int a  = 1;
      int &b = a;
      int *p = &b; //等价于 int *p = &a;
    
    1. 可以建立指针变量的引用
      int a = 0;
      int *p = &a;
      int *&pt = p;  //pt指向a,*pt与*p均为取出变量a
    
    1. 可以用const对引用加以限定,不允许修改该引用的值。
      但可以改变引用所代表的变量的值。

    这在将引用作为形参时,可以防止函数对引用进行修改,造成实参被修改

    void fun(const int *i);

      int a = 0;
      const int &b = a;
      b = 1;  //报错
      a = 1;  //合法
    
    1. 可以用常量或表达式对引用进行初始化,
      可以用不同类型的变量对引用初始化(针对类型转换兼容的类型),
      但此时必须用const声明引用
      int a = 0;
      const int &b = a + 1;
    
      double d = 12;
      const int &i = d;
    

    相关文章

      网友评论

        本文标题:C++引用注意

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