栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

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

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

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.对指针解引用会得出所指对象,如果给解引用结果赋值,实际就是给指针所指对象赋值

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/738787.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号