2.13学习总结—— “ ‘->运算符’ ‘.运算符’ ‘左右值’ ‘new’ ‘指针’ ”

针对于CPP更新总结

1.->运算符

箭头运算符作用于一个指针类型的运算对象,结果是一个左值

2. .运算符

点运算符获取类对象的一个成员

左右值:点运算符运算结果 为左值还是右值,取决于成员所属对象是左值还是右值

基于1. 2.的PS:点运算符和箭头运算符都可用于访问成员。 it->mem <=> (it).mem

3.左右值(“左值存放身份(内存的位置) 右值存放内容”)

左值表达式的求值结果是一个对象或者一个函数,常量对象为代表的某些左值实际上不能作为赋值语句的左侧运算对象。 此外,虽然某些表达式的求值结果是对象,但他们是右值而非左值。

4.new

在自由空间分配的内存是无名的,因此 new 无法为其分配的对象命名,而是返回一个指向该对象的指针:

int * pi =new int // pi指向一个动态分配的,未初始化的无名对象

此new表达式在自由空间构造一个int型对象,并返回指向该对象的指针。

5.指针

对指针的新理解   

int ival=42;int * p =&ival 官方说法:p存放变量ival的地址

自己理解:int是分配一栋楼,p是分配在这栋楼里的房子,数据存放在房子里,要想获取需要“ * ” 作为钥匙。

PS:1.“&” “*”既能用作表达式里的运算符,也能作为声明的一部分出现,取决于符号所在上下文

        2.对指针解引用会得出所指对象,如果给解引用结果赋值,实际就是给指针所指对象赋值

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值