C++ Primer中&、*符号多重定义与int *p和int* p区别的示例分析
发表于:2025-01-18 作者:千家信息网编辑
千家信息网最后更新 2025年01月18日,这篇文章给大家分享的是有关C++ Primer中&、*符号多重定义与int *p和int* p区别的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。& 和*这样的符号
千家信息网最后更新 2025年01月18日C++ Primer中&、*符号多重定义与int *p和int* p区别的示例分析
这篇文章给大家分享的是有关C++ Primer中&、*符号多重定义与int *p和int* p区别的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。
&
和*
这样的符号,既能用作表达式里的运算符,也能作为声明的一部分出现,符号的上下文决定了符号的意义:
int i = 42;int &r = i; //&紧随类型名出现,因此是声明的一部分,r是一个引用int *p; //*紧随类型名出现,因此是声明的一部分,p是一个指针pp = &i; //&出现在表达式中,是一个取地址符*p = i; //*出现在表达式中,是一个解引用符int &r2 = *p; //&是声明的一部分,*是一个解引用符
在声明的语句中,&
和*
用于组成复合类型;在表达式中,他们的角色又转变成运算符。在不同场景下出现的虽然
是同一个符号,但是由于含义截然不同,所以我们完全可以把他们当做不同的符号来看待。
根据C++Primer介绍:
对于int* p
(这种写法合法,但是容易造成误导),其基本数据类型是int
,后面的*
其实是声明符。在一组公用的数据类型后面可以使用不同的声明符。例如:
int i =1024, *p = &i, &r = i; //i是一个int类型的数据,p是一个int型的指针,r是一个int型引用。
对于int *p
,其和int* p
的含义一样,都表示int类型的指针变量p。
但是将声明符紧跟着变量名是一种更容易理解的做法。否则可能会出现误导现象:
例如
int* p1, p2;表示含义是p1是一个int型的指针,p2是一个int型变量。而不是p1,p2都是指针变量,它们共用的是基本数据类型部分。
如果写成int *p1,p2;
则和上式表示的含义完全一样,但是更加清晰,不会造成误导。
不过对于以上两种写法的使用,主要看个人的习惯,但是最好不要混用。
感谢各位的阅读!关于"C++ Primer中&、*符号多重定义与int *p和int* p区别的示例分析"这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!
类型
符号
指针
不同
变量
含义
数据
表达式
误导
示例
C++
分析
内容
写法
更多
篇文章
运算符
运算
不错
合法
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
怎样知道数据库软件是否运行
查找连接不到服务器怎么回事
网络安全自查评估 抽查检测
陕西网络安全态势感知中标公告
射天狼下载软件开发
怎么布置数据库
网络技术有限公司设计海报
书籍数据库表有哪些内容
浙江软件开发加盟商模式
数字媒体网络技术软件应用
徐州江苏高性能服务器供应商家
怎么查看数据库连接方式
网络安全主题自制绘本有机关
怎么查询管理服务器ip
长宁区无线网络技术内容
浏览器访问服务器里的图片
江阴专业软件开发联系人
泗阳自动化网络技术解决方案
软件开发方面专业
网络技术计算机三级买什么
服务器ram内存能用吗
云桌面服务器gpu
软件开发广州宝
金融局网络安全周
华为服务器为什么便宜
三六零网络安全最新新闻
云南正规软件开发零售价格
casdanra 数据库物联网
数学很差可以学软件开发吗
网络安全工资表