c++primer 学习日记2 复合类型 引用与指针

本篇是反思后的第一篇日记,本系列,作为自己的c++primer的学习,c++的复习。

复合类型:引用,指针;

术语“引用(reference)”指左值引用;

引用即别名,例:

Int a=0;

Int &b=a;

引用与对象绑定,对引用的操作即为对对象的操作;

因为引用不是对象,不能定义引用的引用与引用的指针;

引用应与绑定对象严格匹配,且不能绑定字面值与某个表达式的计算结果;

“指针”与引用皆实现了对对象的间接访问,但其本身也是一个对象,允许对其赋值与拷贝;

指针与其对象类型也需严格匹配;

指针的值(即地址)应属于下列4种状态:

1 指向一个对象;

2指向紧邻对象的下一个位置;

3 空指针,不指向任何一个位置;

4无效指针,上述三种情况之外的指针;

获取地址 取地址符&;

如果指针指向一个对象,允许使用解引用符*来访问该对象;

例:

 Int ival=42;

Int*p=&ival;

Cout<<*p;

对*p赋值实际上是为p所指的对象赋值;

声明语句中 *代表指针,&代表引。表达式中*代表解引用,,&代表取地址。

空指针不指向任何对象

生成空指针方法:

Int  *p1=nullptr;

Int*p2=0;

Int*p3=NULL;

其中nullptr是c++11新引入方法,是一种特殊类型的字面值,可以被转换为任意其他的指针类型。

int变量直接赋给指针是错误的操作,即便其值为零。

引用与指针同为间接访问对象,其区别在与引用绑定与一个对象,其本身不是对象。

赋值改变的永远是等号左侧的对象,等号左侧为p时,改变的是指针指向,左侧为p*时,改变的是p指向的对象。

Void指针用于存放各种对象地址,

例,int a=3,*b=&a;void*c=&a;c=b;


1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 、4下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。、可私 6信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 、4下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。、可 6私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 、4下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。、可私 6信博主看论文后选择购买源代码。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值