首页 > 编程语言 >【C++】引用和指针的不同点

【C++】引用和指针的不同点

时间:2024-08-02 20:00:11浏览次数:14  
标签:NULL 字节 实体 C++ 引用 不同点 自加 指针

引用和指针的不同点:

(从使用的角度去对比,按自己的理解的角度去梳理,硬记很难记全,虽然不赢记大概率也记不全)
1.引用概念上定义一个变量的别名,指针存储一个变量地址。
2.引用在定义时必须初始化,指针没有要求。
3.引用在初始化时引用一个实体后,就不能再引用其他实体;而指针可以在任何时候指向任何一个同类型实体。
4.没有NULL引用,但有NULL指针。
5.在sizeof中含义不同:引用结果为引用类型的大小,但指针始终是地址空间所占字节个数(32位平台下占4个字节)
6.引用自加即引用的实体增加1,指针自加即指针向后偏移一个类型的大小。
7.有多级指针,但是没有多级引用。
8.访问实体方式不同,指针需要显示解应用,引用编译器自己处理。
9.引用比指针使用起来相对更安全。

标签:NULL,字节,实体,C++,引用,不同点,自加,指针
From: https://blog.csdn.net/m0_46676283/article/details/140783715

相关文章

  • 【C++】运算符重载
    一、示例如果我想实现以下代码,按照下面的写法是不能正常运行的。classPerson{public:intm_A;intm_B;};Personp1;p1.m_A=10;p1.m_B=10;Personp2;p2.m_A=10;p2.m_B=10;Personp3;p3=p1+p2;按照以上学过的内容,可以自己写成员函数,实......
  • C++高级功能
    Lambda匿名函数[只读列表](参数列表){函数体}例如:sort(a+1,a+n,[](constData&x,constData&y){returnx.val<y.val;}constintk=5;autocalc=[k](constint&x){returnx*k;}template模板在struct/namespace/函数前加入template<typ......
  • c语言中的地址与指针的概念,及变量的指针和指向变量的指针变量
    C语言中的地址、指针、以及变量的指针与指向变量的指针变量。1.地址(Address)在C语言中,每个变量在内存中都有一个唯一的内存地址。这个地址是变量存储的位置的标识符。可以通过& 运算符来获取一个变量的地址。#include<stdio.h>intmain(){  intx=10;  ......
  • c语言结构体的概述,定义结构体变量类型的方法,结构体变量的引用,结构体变量的初始化,结构
    1.C语言结构体的概述在C语言中,结构体(struct)是一种复合数据类型,用于将不同类型的数据组合在一起。它可以包含基本数据类型(如int、float、char等)以及其他结构体。结构体非常适合表示具有多种属性的复杂数据,如学生信息(包含姓名、年龄、成绩等)或坐标点(包含x和y坐标)。结构......
  • java如何避免NullPointerException(空指针异常,NPE)
    本文将简单的介绍nep以及如何避免npe1.npe简介空指针异常(NullPointerException)意思是指java中的异常类。当应用程序试图在需要对象的地方使用null时,抛出该异常。这种情况包括:调用null对象的实例方法。访问或修改null对象的字段。将null作为一个数组,获得其长度......
  • Windows图形界面(GUI)-MFC-C/C++ - 静态文本框(Static Text) - CStatic
    公开视频-> 链接点击跳转公开课程博客首页-> ​​​链接点击跳转博客主页目录静态文本框(StaticText)-CStatic基本概念成员函数示例代码静态文本框(StaticText)-CStatic基本概念静态文本框是一种用于显示文本的控件,用户不能编辑其中的文本。静态文本框......
  • window配置onnxruntime,运行c++版本
    为了使用ONNX-Runtime-Inference这个项目,但是我缺少onnxruntime这个库,网上找了很多教程,但是大多数都是关于linux的,这里简单记录一下我的配置流程找到onnxruntime的release版本开始想着自己去找源码编译,发现这对于新手来说,是个坑,因为源码里面有些库是缺失的,需要自己去下载,并更改......
  • 嵌入式控制器(STM32)->栈指针累寄存器
    全局变量和局部变量从存储角度理解全局变量具有固定的地址,每次读写都是一个地址,而且它的存储区域从使用到使用结束一直存在局部变量再RAM中的地址不固定,采用先进后出的RAM区域,称为栈区寄存器分为通用寄存器(R0-R12)和特殊寄存器(R13-R15)ARM基本指令系统数据传送,数据操作,跳......
  • 大话C语言:第34篇 指针与函数的关系
    1指针作为函数的参数指针作为函数的参数,语法格式:返回数据类型函数名(数据类型*指针变量1,...,数据类型*指针变量1)注意,指针变量的数据类型可以为任何数据类型,包括基本数类型和自定义数据类型代码示例:voidswap(int*ptr1,int*ptr2){//提前保存ptr1指向对象......
  • 【C++】学习笔记——智能指针
    文章目录二十一、智能指针1.内存泄漏2.智能指针的使用及原理RAII智能指针的原理auto_ptrunique_ptrshared_ptrshared_ptr的循环引用weak_ptr删除器未完待续二十一、智能指针1.内存泄漏在上一章的异常中,我们了解到如果出现了异常,会中断执行流,跳转到catch处。但......