C++ Primer中&、*符号多重定义与int *p和int* p区别的示例分析
发表于:2025-11-08 作者:千家信息网编辑
千家信息网最后更新 2025年11月08日,这篇文章给大家分享的是有关C++ Primer中&、*符号多重定义与int *p和int* p区别的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。& 和*这样的符号
千家信息网最后更新 2025年11月08日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安全错误
数据库的锁怎样保障安全
在数据库技术中 数据库系统
上海系统软件开发定制费用
软件开发里的项目立项 简介
如何运行服务器安全
软件开发平台管理系统
呈贡区方便软件开发价格走势
idea 部署到服务器
中孚三合一数据库密码
通信网络安全单元定级备案
服务器网页管理文件夹
超聚变服务器是啥东西
邦企网络技术有限公司
天津5g服务器机柜厂
网络安全日宣传资料
单位网络安全的具体职能
农业银行软件开发好还是腾讯好
软件开发工程师电话面试
网络安全及客户信息保护
理正数据库打开没有数据
游戏软件开发培训哪家强
贵阳华为鲲鹏服务器
军工软件开发要求
软件开发质保期和维护费
网络安全中接入控制又称
江北敏捷软件开发企业
服务器的soc卡是什么东西
支付宝充值服务器显示内部错误
青鸟下载软件开发
武汉软件开发公司排名地址
mysql数据库的构成