zoukankan      html  css  js  c++  java
  • C++中 引用&与取地址&的区别

     

     

    一个是用来传值的 一个是用来获取首地址的

    &(引用)==>出现在变量声明语句中位于变量左边时,表示声明的是引用.
         
    例如: int &rf; // 声明一个int型的引用rf.
    &(取地址运算符)==>在给变量赋初值时出现在等号右边或在执行语句中作为一元运算符出现时
                      表示取对象的地址.

    在C++中,既有引用又有取地址,好多人对引用和取地址不是很清楚,因此也无法区分。其实他们的区别可以用一句话概括:和类型在一起的是引用,和变量在一起的是取址。下面我们通过实例具体了解一下

    1)引用在赋值=的左边,而取地址在赋值的右边,比如

    1. int a=3;
    2. int &b=a;        //引用
    3. int *p=&a;        //取地址

    2)和类型在一起的是引用,和变量在一起的是取址。 举例同样如上,还有下例:

    1. int function(int &i)
    2.  
    3. {
    4.  
    5. }  //引用

    3)对于vector,上面2条同样适合

    1. vector<int> vec1(10,1);  //initialize vec1: 10 elements, every element's value is 1
    2. vector<int&vec2 = vec1; // vec2 is  reference to vec1
    3. vector<int*vec3 &vec2; //vec3 is addresss of vec1 and vec2

      微信公众号【黄小斜】大厂程序员,互联网行业新知,终身学习践行者。关注后回复「Java」、「Python」、「C++」、「大数据」、「机器学习」、「算法」、「AI」、「Android」、「前端」、「iOS」、「考研」、「BAT」、「校招」、「笔试」、「面试」、「面经」、「计算机基础」、「LeetCode」 等关键字可以获取对应的免费学习资料。 

                           

  • 相关阅读:
    struts.xml配置详解 内部资料 请勿转载 谢谢合作
    Struts框架2ActionError类 内部资料 请勿转载 谢谢合作
    Struts框架 内部资料 请勿转载 谢谢合作
    JDBC 内部资料 请勿转载 谢谢合作
    JSP 实现◆菱形 三角形△ 的输出
    JSP实现 乘法口诀输出
    GUID 全局统一标识符的介绍
    Java 基础 Map 练习题
    Java 异常处理 练习2
    Java 异常处理
  • 原文地址:https://www.cnblogs.com/xll1025/p/6404246.html
Copyright © 2011-2022 走看看