招生考试网
学历| 高考 美术高考 考研 自考 成考 专升本 中考 会考 外语| 四六级 职称英语 商务英语 公共英语 日语能力 翻译资格 JTEST
资格| 公务员 报关员 银行从业 司法 导游 教师资格 报关 财会| 会计证 经济师 会计职称 注册会计 税务师 资产评估 审计师
工程| 一建 二建 造价师 造价员 咨询师 监理师 安全师 医学| 卫生资格 执业医师 执业药师 执业护士 | 教案 论文 文档
IT类| 计算机等级 计算机软考 职称计算机 高校计算机 推荐-国家公务员 事业单位招聘 军校国防生 自主招生 艺术特长生 招飞
 3773考试网 - 计算机等级考试 - 考试辅导 - 计算机二级 - 正文

2014计算机二级C++考点知识分析:数组、指针与引用

来源:2exam.com 2014-4-9 23:23:28

 

 4.3 引用 

  1引用的概念 

  引用是个别名,建立时须用另一个数据对象(如一个变量)的名字进行初始化,以指定该引用所代表的数据对象。此后,对引用的任何实操作实际上就是对所代表的数据对象的操作。一个引用变量要占用相当于一个指针所需要的空间,但系统不会为它所代表的数据对象再次分配空间。 

  在类型名后跟引用运算符“&”,以及引用名来创建一个引用。引用名就是一个变量名。 

  注意:引用运算符与地址操作符使用相同的符号(即运算符重载),但它们含义不一样。引用运算符只在声明变量的时候使用,它放在类型名后面。 

  使用引用时应遵循一定的规则: 

  (1)引用被创建时,它必须立即被初始化(指针则可以在任何时候被初始化)。 

  (2)一旦一个引用被初始化为一个对象的引用,它就不能再被改变为对另一个对象的引用。(指针则可以在任何时候改变为指向另一个对象。) 

  (3)不可能有NULL引用。必须确保引用是具体合法的对象的引用(即引用应和一块合法的存储空间关联)。 

  2用引用传递函数参数 

  引用的一个重要用途就是作为函数的参数。在C+ +中,函数参数传递采用的是传值,如果要有占用空间大的对象(例如一个大的结构对象或类对象)需要作为函数参数传递的时候,在C语言中的做法往往是使用指针,因为这样可以避免将整个实参对象数据全部拷贝给形式参数,可以提高程序的执行效率。在C+ +中,既可以使用指针,但由于C+ +引入了引用概念,亦可以用引用来做同样的事情。引用作为参数的最大好处是:引用参数既可以像指针那样工作,其使用方式又和一般变量相同。也就是说,引用比指针具有更好的可读性。 

  4.4 动态存储分配 

  动态存储分配功能在C+ +中是通过new和delete运算符来实现的。 

  1使用new获得动态内存空间 

  运算符new用于申请动态存储空间,它的操作数为某种数据类型且可以带有初值表达式或元素个数。new返回一个指向其操作类型变量的指针。使用new对某种类型变量进行动态分配的语法格式为: 

  <指针>=new<类型>; 

  其中,<类型>表示要分配的变量类型(如char、int、double);<指针>表示指向<类型>类型变量的指针(如char*、int*、double*等)。 

  2使用delete释放动态内存空间 

  当动态分配的内存空间在程序中使用完毕之后,必须显式地将它们释放。这样做的目的是把闲置不用的堆内存归还给系统,使其可以被系统重新分配。在C+ +程序中由new分配的动态内存空间必须通过delete运算符释放。使用delete对动态分配的单个变量进行释放的语法格式为: 

  delete<指针>; 

  其中,<指针>表示指向单个变量的指针。 

  使用delete对动态分配的数组进行释放的语法格式为: 

  delete[]<指针>; 

  其中,<指针>表示指向数组首元素的指针。delete之后的方括号指明将要释放的内存空间中存储着数组元素。程序中需要分配动态内存空间,则new和delete总是成对出现的


  • 上一个文章:
  • 网站版权与免责声明
    ①由于各方面情况的不断调整与变化,本网所提供的相关信息请以权威部门公布的正式信息为准.
    ②本网转载的文/图等稿件出于非商业性目的,如转载稿涉及版权及个人隐私等问题,请在两周内邮件fjksw@163.com联系.
    最新文章
    推荐文章
  • 此栏目下没有推荐文章


  • | 关于我们 | 联系我们 | 版权申明 | 网站导航 |
    琼ICP备12003406号