• c++之&


    转自www.cnblogs.com/Mr-xu/archive/2012/08/07/2626973.html

    一直以为&是取地址,也看到引用,但是今天才发现引用跟取址完全不是一个意思,&的引用是C++中独有的,而在C中&只能表示取地址。

    对于习惯使用C进行开发的朋友们,在看到c++中出现的&符号,可能会犯迷糊,因为在C语言中这个符号表示了取地址符,但是在C++中它却有着不同的用途,掌握C++的&符号,是提高代码执行效率和增强代码质量的一个很好的办法。在 c++学习提高篇(3)---隐式指针的文章中我详细介绍了在隐式指针&的用法,其实这两个概念是统一的。

    引用是C++引入的新语言特性,是C++常用的一个重要内容之一,正确、灵活地使用引用,可以使程序简洁、高效。我在工作中发现,许多人使用它仅仅 是想当然,在某些微妙的场合,很容易出错,究其原由,大多因为没有搞清本源。故在本篇中我将对引用进行详细讨论,希望对大家更好地理解和使用引用起到抛砖 引玉的作用。

      一、引用简介

      引用就是某一变量(目标)的一个别名,对引用的操作与对变量直接操作完全一样。

      引用的声明方法:类型标识符 &引用名=目标变量名;

      【例1】:int a; int &ra=a; //定义引用ra,它是变量a的引用,即别名

      说明:

      (1)&在此不是求地址运算,而是起标识作用。

      (2)类型标识符是指目标变量的类型。

      (3)声明引用时,必须同时对其进行初始化。

      (4)引用声明完毕后,相当于目标变量名有两个名称,即该目标原名称和引用名,且不能再把该引用名作为其他变量名的别名。

       ra=1; 等价于 a=1;

      (5)声明一个引用,不是新定义了一个变量,它只表示该引用名是目标变量名的一个别名,它本身不是一种数据类型,因此引用本身不占存储单元,系统也不给引用分配存储单元。故:对引用求地址,就是对目标变量求地址。&ra与&a相等。

      (6)不能建立数组的引用。因为数组是一个由若干个元素所组成的集合,所以无法建立一个数组的别名。

  • 相关阅读:
    针对web高并发量的处理
    外边距合并,外边距折叠
    cookie 和session 的区别:
    ng-if ng-show ng-hide 的区别
    JavaScript中的arguments,callee,caller
    git常见命令
    jQuery中.bind() .live() .delegate() .on()的区别
    为什么要使用sass
    js兼容性记录
    poj1004
  • 原文地址:https://www.cnblogs.com/zhougong/p/8882919.html
Copyright © 2020-2023  润新知