当前位置: 首页 > news >正文

淮安建设企业网站深圳营销策划公司

淮安建设企业网站,深圳营销策划公司,湖南建设工程考试网,网页设计与制作实例教程方其桂指针是一个独立的对象,它可以指向不同的变量或对象,可以重新赋值给其他变量。而引用是已存在的变量的别名,它必须在定义时初始化,并且不能重新绑定到另一个变量。指针可以是空指针(nullptr),它不…
  1. 指针是一个独立的对象,它可以指向不同的变量或对象,可以重新赋值给其他变量。而引用是已存在的变量的别名,它必须在定义时初始化,并且不能重新绑定到另一个变量。
  2. 指针可以是空指针(nullptr),它不指向任何有效的内存地址。而引用必须始终指向一个已存在的对象,不允许为空或未初始化。
  3. 指针可以通过动态内存分配(如new和delete)来分配和释放内存,可以指向堆上或栈上的对象。而引用只是已存在对象的别名,不具备内存分配和释放的能力。
  4. 指针可以有多级指针(**p),而引用只有一级;
  5. 可以有const指针,但是没有const引用;
  6. 指针和引用使用++运算符的意义不一样;
    指针的++运算符:指针是一个变量,存储另一个变量的内存地址。对指针使用++运算符,会使指针向后移动一个数据类型的大小。这是为了方便在数组和缓冲区等连续内存区域中进行遍历和操作。

例如:

int* ptr = someArray;  // 指向数组的首地址
++ptr;  // 指针向后移动4个字节(假设int类型占用4个字节)

引用的++运算符:引用是某个变量的别名,对引用使用++运算符,实际上是直接对原始变量进行自增操作。

int num = 5;
int& ref = num;  // ref是num的引用
++ref;  // num的值变为6
  1. 如果返回动态内存分配的对象或者内存,必须使用指针,引用可能引起内存泄露
    在C++中,引用类型是没有所有权的,意味着它只是一个别名,不负责内存的分配和释放。因此,返回引用类型可能会导致内存泄漏,因为在函数结束时,返回的引用依然指向之前分配的内存,但不能再访问或释放该内存。
    例如:
int& createDynamicInt() {int* dynamicInt = new int(5);return *dynamicInt;  // 返回动态内存分配对象的引用
}int main() {int& myInt = createDynamicInt();// 动态分配的内存将无法释放,因为不再有指针指向该内存// do something with myInt...delete &myInt;  // 错误:试图释放一个不是通过new分配的指针return 0;
}

其中函数createDynamicInt()返回了一个动态分配的整数地址的引用。在main()函数中,我们将这个返回的引用赋值给myInt变量。然而,当main()函数结束时,myInt变量消失了,但是动态分配的整数对象仍然存在内存中,无法获得内存释放。在尝试释放myInt指向的内存时(使用delete),我们得到了一个错误,因为myInt指向的内存并不是通过new分配的。这是因为返回的是引用,并非指针,所以无法通过delete释放它。为了避免这个问题,应该使用指针来返回动态分配的对象,这样可以在不需要时手动释放内存。修改上述例子的正确实现如下:

int* createDynamicInt() {int* dynamicInt = new int(5);return dynamicInt;  // 返回动态内存分配对象的指针
}int main() {int* myInt = createDynamicInt();// do something with myInt...delete myInt;  // 释放动态分配的内存return 0;
}
http://www.yayakq.cn/news/663464/

相关文章:

  • 做网站到底需要什么2022年最新十条新闻
  • 建设银行信用卡境外网站盗刷介绍一个电影的网站模板下载
  • 怎样做酒店网站ppt网页动态背景
  • 网站建设需要的手续wordpress登录可见菜单
  • 学做吃的网站有哪些租用网站如何制作网页
  • 个人网站建设概述安卓电商app开发
  • 帐号售卖网站建设装修案例图
  • 学做网站要多久wap网站的发展
  • 网站建设怎么设置渐变色平台设计标准
  • 网站建设课程论文备案期间网站
  • 河南卓越建设工程有限公司网站WordPress状态栏替换
  • 网站建设成都哪家公司好嵌入式软件培训
  • 公司网站开发排名买域名的钱最后给了谁
  • 做招聘图片的网站中国工商银行官网
  • 佛山做外贸网站渠道郴州网站网络推广平台
  • 网站开发的优势重庆开发
  • 为何网站需改版淇县住房和城乡建设局网站
  • 平面设计类的网站舟山公司注册
  • 网站开发个人工作室石家庄网站设计
  • 自己做网站一定要实名吗wordpress程序一直503
  • 偏门网站建设珠海网站哪家好
  • 网站的设计 更新外贸流程实训报告
  • 网站开发哪里接业务集团网站群
  • 苏州论坛建站模板做网站太麻烦了
  • 城市建设理论研究收录网站情头定制网站
  • 浙江手机版建站系统哪个好企业信用信息年度报告公示
  • iapp网站做软件教程易语言怎么做网站
  • 湖南网站推广电话怎么用dw英文版做网站
  • 购物网站排名前100长安区网站建设
  • 哪个网站可以接图纸做有人看片吗免费的