C++中指针与引用的区别

指针的本质

指针p也是对象,只不过p存储的数据类型是它所指的对象的地址。可以通过解引用操作符“”来访问对象的值,即p。

对象有常量(const)和非常量之分,如果指针本身是常量,即指针常量,指这个指针所存储的地址是不可以改变的。而指向常量的指针的意思是,不能通过该指针来改变这个指针所指的对象。

引用的本质

引用的底层是一个指针常量,是指针操作的语法糖,加入了一些特性,方便了程序员。

引用和指针,在内存中都是占用4个字节(32bits系统)的存储空间。

指针与引用的区别

	指针可以是NULL,而引用不行,引用必须有一个其所指的对象引用不可以将其重新指向另一个对象引用的创建、销毁不会调用类的拷贝构造函数和析构函数由于引用永不为空,所以不需要判断其是否为空,而指针需要sizeof引用得到的是所指对象的大小,而sizeof指针得到的是指针的大小有指针数组,没有引用数组引用和指针的自增自减操作意义不同,引用自增自减被引用对象的值,指针自增自减内存地址

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/564435.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

python支持按指定字符串分割成数组_python – 如何切割numpy数组字符串的每个元素?...

这是一个矢量化的方法 –def slicer_vectorized(a,start,end):b a.view(S1).reshape(len(a),-1)[:,start:end]return np.fromstring(b.tostring(),dtypeSstr(end-start))样品运行 –In [68]: a np.array([hello, how, are, you])In [69]: slicer_vectorized(a,1,3)Out[69]:ar…

数据库的概念

数据存储方式 计算机数据(Data)的存储一般以硬盘为数据存储空间资源,从而保证计算机内的数据能够持续保存。对于数据的处理,一般会采用数据库相关的技术进行处理,从而保证数据处理的高效性。 采用数据库的管理模式不…

高中关于人工智能方面的课题_2019山东人工智能教育专项课题指南选题

人工智能教育专项课题,2019年度山东省教育规划课题已经启动,申报者有这方面的申报意向,就需要知道选题范围,以下是2019山东人工智能教育专项课题指南选题。小学人工智能教育课程体系、教学策略及教学评价的研究初中人工智能教育课…

linux qt5.9交叉编译,QT5.9移植

1.下载Qt源码Qt源码下载地址:Index of /archive/qt 其他源码和其他安装包都是有的。2.解压源码$ mkdir qt5.9$cd qt5.9将下载文件拷贝到当前目录下面。解压$ xz -d qt-everywhere-opensource-src-5.9.7.t…

python雪花算法生成id_理解分布式id生成算法SnowFlake

分布式id生成算法的有很多种,Twitter的SnowFlake就是其中经典的一种。概述SnowFlake算法生成id的结果是一个64bit大小的整数,它的结构如下图:1位,不用。二进制中最高位为1的都是负数,但是我们生成的id一般都使用整数&a…

linux wps 公式编辑器,WPS 2012数学公式编辑器的使用方法(详细图解)

做数学或物理课件时很多公式是件比较头痛的事。时常陷入无穷的拼接法中,用一个一个文本框组合成复杂的公式。其实WPS 2012e为我们提供了一个功能强大的公式编辑器Equation Editor,可以帮助我们解决这些问题。1、插入公式将光标放置于欲插入公式的位置&am…

linux utmp结构体,Linux C编程如何使用联机帮助来解决编程问题?

1.背景多次学习C语言一直无法踏入C语言的大门,每次都是在学习C语言中的那些系统调用库函数等望而却只,linux下的系统调用需要我们去记忆一些没有规律的结构体和一些大写的宏定义并且还有一个函数多种形式的例如print fprintf sprintf等等,看起…

ios 画线平滑_iOS 画贝塞尔曲线 连续曲线 平滑曲线 曲线图表

利用贝塞尔曲线画一段连续曲线bezierDemo2.pngbezierDemo1.pngimage.png如果我们根据几个点画一条连续的曲线, 我们使用的方法是- (void)addCurveToPoint:(CGPoint)endPoint controlPoint1:(CGPoint)controlPoint1 controlPoint2:(CGPoint)controlPoint2;这个方法是由一个结束点…

python中怎么判断字母大小写_python判断字符串是字母 数字 大小写(转载)

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼今天遇到的字符串处理的问题,记录一下方便使用str1 input(请输入一个字符:)#初始化字符、数字、空格、特殊字符的计数lowercase 0uppercase 0number 0space 0other 0for strs in str1:#如果在字符串中…

深度linux安装好上不了网,Deepin Linux 无法上网

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼我又用回2008了LINUX图形界面还是太慢 我的感觉太敏锐 虽然LINUX的图形界面的延迟 从你鼠标发出信号 到XSERVER的视觉呈现也就几百毫秒 但还是感觉比WINDOWS NT的效率差了几百倍 .用的越久感觉越明显.WINDOWS图形界面下的操控不管你…

php 伪静态 获取当前页面路径_织梦移动适配PHP获取当前页面URL地址方法

在做织梦网站开发时,会遇到获取当前URL并做PHP判断。比如地区站群PC端的移动适配功能,下面提供PHP通用移动端适配方法。PC首页路径:www.xx.com移动端首页路径:m.xx.com地区PC首页路径:beijing.xx.com地区移动端首页路径…

linux客户端 存活检测,Linux下客户端检测服务器的 heartbeat

客户端代码,和一般的客户端不一样#include#include#include#include#include#include#include#include#include#include#include #include #define MAXDATASIZE 100int main(){int sockfd,nbytes,serv_port;char buf_serv_ip[16],buf[260];struct sockaddr_in serv_…

lua打开浏览器并加载网页_Lua访问网页

示例例子,实现https方式,登录网站,访问某个网页,修改其中参数的功能。其中xx应用时候需要修改。require("curl")local ipList {"192.168.1.1","192.168.1.1",}--登陆function loginWeb(ip)c curl.…

linux jar和zip,Linux命令———zip和jar文件压缩解压

Linux命令———zip和jar文件压缩解压(1)ubuntu 使用unzip和zip压缩文件1.功能作用:解压缩zip文件2.位置:/usr/bin/unzip3.格式用法:unzip [-Z] [-opts[modifiers]] file[.zip] [list] [-x xlist] [-d exdir]4.主要参数-c 将解压缩的结果显示…

python去除中间空格只留一个_python 删除字符串中的连续空格只保留一个

Centos 6.5(64bit)上安装Vertica single node在Win8上使用虚拟机Virtualbox安装Centos6.5,想在上面安装vertica. 以下记录了我在安装的过程中遇到的问题与一些解决方案. 1.安装Centos的时候遇到了一个恼人的问题,即 ...大型网站系统架构实践(四)h…

安卓 linux找回内置存储,Android手机自带内部存储路径的获取

我有一台中兴的Android手机,型号是 ZTE U930HD,手机没有插入外置SD卡(也就是Micro SD Card,原名Trans-flash Card(TF卡),2004年正式更名为Micro SD Card),但是机身自带了一个内置存储卡(也就是eMMC存储,大小…

原生js获取document_原生JS常用API整理

Anchor 对象:指HTML超链接1.修改一个链接的文本,链接和target//html部分访问 Microsoft改变超链接的文本和 URL。也改变 target 属性。target 属性的默认设置是 "_self",这意味着会在相同的窗口中打开链接。通过把 target 属性设置…

linux打包cpio命令例子,linux压缩命令——tar、cpio详解

常见的linux压缩方式:*.Z compress压缩*.gz gzip压缩*.bz2 bzip2压缩*.tar tar打包(没有压缩)*.tar.gz tar打包,并且经过gzip压缩*.tar.gz tar打包,并且经过bzip2压缩gzip、bzip2压缩是对单一文件压缩。下面就t…

flowjo汉化版_流式细胞分析软件FlowJo

FlowJo是一款专业的流式细胞分析软件,这款软件是流式领域最受推荐的一款专业分析软件,适合医学类的学生使用。软件能够帮助用户轻松了解了解细胞的状态变化, 拥有流动室和液流驱动系统,光电转换器和数据处理系统等先进的科学技术。软件特色&a…

c语言程序设计语言描述,C语言程序设计题目描述(详).txt

C语言程序设计题目描述(详).txtC01 pow1.05,n include void main float y1.05; int n1; FILE *p; /* * * * * * */ fprintfp,“d,.0f“,n,pow1.05,n; fclosep; C02 a11a002a11.aPaperdesign.dat include void main float a331.3,2.7,3.6,2,3,4.7,3,4,1.27; FILE *p; /* * * * *…