博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
引用与指针的区别
阅读量:6853 次
发布时间:2019-06-26

本文共 422 字,大约阅读时间需要 1 分钟。

引用的底层实现是通过指针来完成的,但编译器做了一些语言层面上的限制,从而产生了引用这个特性。

引用就是存在之物的另一个名字,它本身不是对象。不存在空引用(定义时就需要初始化),所以某些场合使用引用比指正更高效,因为引用肯定非空,而指针需要判断是不是空指针。

在函数传值时使用引用可以防止产生临时对象。而且让操作看起来更加自然,比如重载[]操作符时,返回的是一个元素的引用,如果返回一个指针,操作起来很不方便(见more effective C++ 条款一)。

在C++03及以前的标准,无法建立非常量引用,最多建立常量引用(所以别想通过给临时对象取一个别名,然后修改它)。但临时对象其实未必无法被修改,只是通过别的方式而已。

如下代码是错误的:

void f ( /*const*/ int& a){  cout<<

把const注释去掉就对了。

 

转载于:https://www.cnblogs.com/vaecn/p/5353912.html

你可能感兴趣的文章
ssm框架,出现xxx不能加载,或者bean不能加载时的解决方案之一
查看>>
types.h头文件学习
查看>>
【递推】hdu5927 Auxiliary Set
查看>>
计算机的组成与操作系统
查看>>
包冲突getJspApplicationContext
查看>>
Webrtc入门——基于阿里云ubuntu 最新webrtc Android平台编译详细说明
查看>>
prepareCall方法执行存储过程
查看>>
深入学习jQuery节点关系
查看>>
在浏览器中输入网址后的流程
查看>>
鼠标移动效果
查看>>
源码-hadoop1.1.0-core-org.apache.hadoop.classification
查看>>
创建4个线程,两个对j加一,两个对j减一(j两同两内)
查看>>
Make body have 100% of the browser height
查看>>
linux 服务器安装php5.6
查看>>
python 函数,闭包
查看>>
组合数据类型练习,英文词频统计实例上
查看>>
CentOS开启FTP及配置用户
查看>>
[LeetCode] Remove Duplicates from Sorted Array II
查看>>
【深度学习笔记1】如何建立和确定模型正确性?如何优化模型?
查看>>
Collection集合家族
查看>>