引用相比于于指针各有优点:一、引用变量它不能改变自身所引用的地址空间,而指针变量可以,那么就很可能出现一些因为不小心的修改而导致错误的结果。二、在作为函数参数方面,引用作为参数,你调用的时候不需要对变量取地址值,这样看起来比较直观,而且方便,如果是指针变量作为参数,那么你有时候会不明白这个函数到底是对指针进行运算,还是对指针指向的变量空间进行运算,而且还要取地址操作。三、不过有时候指针还是比引用好用的多,不如你需要快捷修改指向位置,那么指针是很快的,有时候你就是要对地址(就是直接对内存)操作,那么指针是首选啦。 下面是一个例子希望对你有用: //PointAndRef.cpp#include<iostream.h>  //cout<< void pointFun(int *a,int *b)    //指针作为参数{int temp;temp=*a;*a = *b;*b=temp;
}void refFun(int &a,int &b)   //引用作为参数
{int temp;temp=a;a=b;b=temp;
}
void main()
{int a,b;a=1,b=2;pointFun(&a,&b);     //指针调用需要取地址值。cout<<"a="<<a<<"b="<<b<<endl;int c,d;c=3,d=4;refFun(c,d);          //引用调用和正常变量调用一样。cout<<"c="<<c<<"d="<<d<<endl;
}

更多文章

CocoaPods开源库的搭建
CocoaPods搭建私有库
CocoaPods搭建私有库遇到问题
CocoaPods私有库的升级维护
SKStoreReviewController之程序内评价
App应用程序图标的动态更换
开源框架 MGJRouter_Swift
iOS的MVP设计模式
iOS插件化
iOS FMDB的使用
Swift之ReactiveSwift
OC之ReactiveCocoa
OC之ReactiveCocoa进阶
iOS 性能考虑

C变量的直接引用与间接引用区别相关推荐

  1. JNI实现源码分析【三 间接引用表】

    在JNI实现源码分析[二 数据结构]的参数传递一节中,我们提到,JNI为了安全性的考虑使用了形如jobject的结构来传递参数.而jobject被表述为指针,但又不是直接指向Object的指针那么jo ...

  2. php引用shell变量,Linux Shell Bash变量的间接引用 - Powered by PHPWind....

    假设一个变量的值是第二个变量的名字. 那么我们如何从第一个变量中取得第二个变量的值呢? 比如, 如果a=letter_of_alphabet并且letter_of_alphabet=z, 那么我们能够 ...

  3. c语言引用性间接变量,c语言取地址和间接引用

    #include int main() { int a=10; int b; b=a; //取地址 //地址符+变量名 &a; printf("%p\n",&a); ...

  4. java include 传递对象_变量的值传递,地址引用(和对象成员变量、局部变量创建和初始化的内存机制)...

    变量的值传递,地址引用(和对象成员变量.局部变量创建和初始化的内存机制) 变量的值传递,地址引用: 搞懂=含义,=即指向,看指向的内存块是否发生改变,还有是否是新内存块, 通过指向可以控制内存块的值. ...

  5. 模板变量,过滤器和静态文件引用

    模板变量,过滤器和静态文件引用 模板路径 Djiango先到settings里面找templates下的DIRS查看是否有路径,也是从上往下依次寻找,找到就返回. 如果DIRS没有,就到APP_DIR ...

  6. 【C/C++】理解传值引用和调用引用:函数调用中,为变量赋值,传入其指针;为指针赋值,传入指针的指针

    大清早收到消息,好久前写的帖子(链接)下,有人问我问题: 原函数是这样的: void Attach(int c, int e, Polynomial *pRear){Polynomial P;P = ...

  7. eclipse java转class_Eclipse中的Java项目:无法解析java.lang.Object类型。 它是从所需的.class文件间接引用的...

    Eclipse中的Java项目:无法解析java.lang.Object类型. 它是从所需的.class文件间接引用的 在Eclipse中导入项目后,我收到以下错误: 无法解析java.lang.Ob ...

  8. 华为运行APK时的ART空指针间接引用报错问题

    文章目录 1. 问题情况 1. 问题情况 在此前已经正常运行过的项目,重新修改了配置信息(gradle和一些业务环境信息如域名等)后重新运行时,运行后若干秒后会发生闪退并输出了以下的错误信息.并且该错 ...

  9. 内置对象的API Array数组对象 String字符串对象 json字符串 JSON对象 js作用域及变量预解析 引用类型与值类型区别 共享引用 基本包装类型 数组去重

    01-内置对象的API a.Date对象获取时间 b.Array对象数组加工 c.String对象字符串加工 d.json字符串的语法格式 e.JSON对象的字符串与对象转换应用 02-JS作用域 a ...

  10. c++引用与指针的区别

    ★ 相同点: 1. 都是地址的概念: 指针指向一块内存,它的内容是所指内存的地址:引用是某块内存的别名. ★ 区别: 1. 指针是一个实体,而引用仅是个别名: 2. 引用使用时无需解引用(*),指针需 ...

最新文章

  1. Cost Function
  2. 用脚写字考上985!无臂硕士开学报到,宿舍设计太细节了……
  3. 帧中继-实验(第三篇)
  4. 求android 中串口的发送接收数据代码
  5. 64位操作系统上ArcGIS Server Manager页面不正常显示
  6. 面试官:Redis 主从复制时网络开小差了怎么整?
  7. Java 8 函数式编程学习笔记
  8. Lightroom Classic 教程,如何使用 Photoshop 和 Lightroom 优化照片?
  9. paip.提升用户体验---提示语
  10. 使用abd工具查看安卓设备cpu处理器是32位或64位
  11. 特殊IP地址分类:私有地址、保留地址
  12. 马步站桩-快速健身法 程序员朋友们 注意身体
  13. 微信小程序制作背景图片
  14. Google Play上架总结(一)为什么要上架Google Play
  15. Elasticsearch 入门案例
  16. 起始字节 和起始位_frechlet起始距离fid的简短介绍
  17. 中文词性标注学习笔记(三)---词性标注
  18. Python全栈(九)Web前端基础之3.CSS常见样式和选择器
  19. 文本分类——KNN算法
  20. Win10 应用商店打不开,错误代码0x80131500——亲测可用

热门文章

  1. PADS——原理图的绘制
  2. MATLA图片清晰度调整
  3. mysql rownum写法_mysql类似oracle rownum写法实例详解
  4. OpenCV图像锐化
  5. pytorch实现resnet50
  6. 第一本书应考虑哪些细节?
  7. matplotlib实战(绘制电学实验中的改装表校准线)
  8. 嵇少峰:互联网金融草根时代终结
  9. C# 使用Aspose.Word将Word书签的数据进行替换 包含打印
  10. 【动态规划】FatMouse's Speed