C变量的直接引用与间接引用区别
引用相比于于指针各有优点:一、引用变量它不能改变自身所引用的地址空间,而指针变量可以,那么就很可能出现一些因为不小心的修改而导致错误的结果。二、在作为函数参数方面,引用作为参数,你调用的时候不需要对变量取地址值,这样看起来比较直观,而且方便,如果是指针变量作为参数,那么你有时候会不明白这个函数到底是对指针进行运算,还是对指针指向的变量空间进行运算,而且还要取地址操作。三、不过有时候指针还是比引用好用的多,不如你需要快捷修改指向位置,那么指针是很快的,有时候你就是要对地址(就是直接对内存)操作,那么指针是首选啦。 下面是一个例子希望对你有用: //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变量的直接引用与间接引用区别相关推荐
- JNI实现源码分析【三 间接引用表】
在JNI实现源码分析[二 数据结构]的参数传递一节中,我们提到,JNI为了安全性的考虑使用了形如jobject的结构来传递参数.而jobject被表述为指针,但又不是直接指向Object的指针那么jo ...
- php引用shell变量,Linux Shell Bash变量的间接引用 - Powered by PHPWind....
假设一个变量的值是第二个变量的名字. 那么我们如何从第一个变量中取得第二个变量的值呢? 比如, 如果a=letter_of_alphabet并且letter_of_alphabet=z, 那么我们能够 ...
- c语言引用性间接变量,c语言取地址和间接引用
#include int main() { int a=10; int b; b=a; //取地址 //地址符+变量名 &a; printf("%p\n",&a); ...
- java include 传递对象_变量的值传递,地址引用(和对象成员变量、局部变量创建和初始化的内存机制)...
变量的值传递,地址引用(和对象成员变量.局部变量创建和初始化的内存机制) 变量的值传递,地址引用: 搞懂=含义,=即指向,看指向的内存块是否发生改变,还有是否是新内存块, 通过指向可以控制内存块的值. ...
- 模板变量,过滤器和静态文件引用
模板变量,过滤器和静态文件引用 模板路径 Djiango先到settings里面找templates下的DIRS查看是否有路径,也是从上往下依次寻找,找到就返回. 如果DIRS没有,就到APP_DIR ...
- 【C/C++】理解传值引用和调用引用:函数调用中,为变量赋值,传入其指针;为指针赋值,传入指针的指针
大清早收到消息,好久前写的帖子(链接)下,有人问我问题: 原函数是这样的: void Attach(int c, int e, Polynomial *pRear){Polynomial P;P = ...
- eclipse java转class_Eclipse中的Java项目:无法解析java.lang.Object类型。 它是从所需的.class文件间接引用的...
Eclipse中的Java项目:无法解析java.lang.Object类型. 它是从所需的.class文件间接引用的 在Eclipse中导入项目后,我收到以下错误: 无法解析java.lang.Ob ...
- 华为运行APK时的ART空指针间接引用报错问题
文章目录 1. 问题情况 1. 问题情况 在此前已经正常运行过的项目,重新修改了配置信息(gradle和一些业务环境信息如域名等)后重新运行时,运行后若干秒后会发生闪退并输出了以下的错误信息.并且该错 ...
- 内置对象的API Array数组对象 String字符串对象 json字符串 JSON对象 js作用域及变量预解析 引用类型与值类型区别 共享引用 基本包装类型 数组去重
01-内置对象的API a.Date对象获取时间 b.Array对象数组加工 c.String对象字符串加工 d.json字符串的语法格式 e.JSON对象的字符串与对象转换应用 02-JS作用域 a ...
- c++引用与指针的区别
★ 相同点: 1. 都是地址的概念: 指针指向一块内存,它的内容是所指内存的地址:引用是某块内存的别名. ★ 区别: 1. 指针是一个实体,而引用仅是个别名: 2. 引用使用时无需解引用(*),指针需 ...
最新文章
- Cost Function
- 用脚写字考上985!无臂硕士开学报到,宿舍设计太细节了……
- 帧中继-实验(第三篇)
- 求android 中串口的发送接收数据代码
- 64位操作系统上ArcGIS Server Manager页面不正常显示
- 面试官:Redis 主从复制时网络开小差了怎么整?
- Java 8 函数式编程学习笔记
- Lightroom Classic 教程,如何使用 Photoshop 和 Lightroom 优化照片?
- paip.提升用户体验---提示语
- 使用abd工具查看安卓设备cpu处理器是32位或64位
- 特殊IP地址分类:私有地址、保留地址
- 马步站桩-快速健身法 程序员朋友们 注意身体
- 微信小程序制作背景图片
- Google Play上架总结(一)为什么要上架Google Play
- Elasticsearch 入门案例
- 起始字节 和起始位_frechlet起始距离fid的简短介绍
- 中文词性标注学习笔记(三)---词性标注
- Python全栈(九)Web前端基础之3.CSS常见样式和选择器
- 文本分类——KNN算法
- Win10 应用商店打不开,错误代码0x80131500——亲测可用