社区
新手乐园
帖子详情
C++里面内存回收和内存释放有伞没区别啊
yayexing
2011-10-28 10:18:40
rt
...全文
205
15
打赏
收藏
C++里面内存回收和内存释放有伞没区别啊
rt
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
15 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
yayexing
2011-11-01
打赏
举报
回复
谢谢各位了,明白了,结了。
a136973446aa
2011-11-01
打赏
举报
回复
释放之后那块地址还有值,指针指向的地址也是那块地址,改内存为垃圾内存,为了避免出现野指针所以指针应该指向新的对象,一般都指向NULL
yayexing
2011-10-31
打赏
举报
回复
谢谢楼上给位的回答,小弟还有个问题,就是回收之后那块内存里面还有值吗,释放之后那块内存有值吗,是不是下次要用的时候也就是重新分配之后赋NULL值那段内存里面的值才被清空吗。
yayexing
2011-10-31
打赏
举报
回复
[Quote=引用 12 楼 cao_julians 的回复:]
引用 10 楼 yayexing 的回复:
谢谢楼上给位的回答,小弟还有个问题,就是回收之后那块内存里面还有值吗,释放之后那块内存有值吗,是不是下次要用的时候也就是重新分配之后赋NULL值那段内存里面的值才被清空吗。
回收时不会对那块内存做清理工作,即那块内在中会有之前的"垃圾"值.
另外赋值NULL是对指向那块内存的指针变量进行的,使指针变量处于不可用状态,而不是对那块内存进行什么操……
[/Quote]
那释放呢,也不会对那块内存做清理工作吗。
cao_julians
2011-10-31
打赏
举报
回复
[Quote=引用 10 楼 yayexing 的回复:]
谢谢楼上给位的回答,小弟还有个问题,就是回收之后那块内存里面还有值吗,释放之后那块内存有值吗,是不是下次要用的时候也就是重新分配之后赋NULL值那段内存里面的值才被清空吗。
[/Quote]
回收时不会对那块内存做清理工作,即那块内在中会有之前的"垃圾"值.
另外赋值NULL是对指向那块内存的指针变量进行的,使指针变量处于不可用状态,而不是对那块内存进行什么操作.
cao_julians
2011-10-29
打赏
举报
回复
[Quote=引用 8 楼 super_admi 的回复:]
貌似,回收是系统的事情,释放是自己的责任。
[/Quote]
++
这两个词汇的主语(即动作的执行者)不同
super_admi
2011-10-29
打赏
举报
回复
貌似,回收是系统的事情,释放是自己的责任。
valtti
2011-10-29
打赏
举报
回复
int*p=NULL,表示这个指针不指向任何对象,防止后面的程序因为错误使用P出问题
yayexing
2011-10-28
打赏
举报
回复
回收了还可再用,是不是那块内存被赋了NULL,被释放了还有脏数据吗。
yayexing
2011-10-28
打赏
举报
回复
能再详细一点吗。有点糊。
小木
2011-10-28
打赏
举报
回复
有释放和回收的区别,回收:可再用,释放:那段内存还可能有脏数据,不知道对不对
HFred
2011-10-28
打赏
举报
回复
回收呢,原来是自己的东西,一般指栈空间,临时变量内存的回收
释放呢,原来就不是自己的东西,一般指堆空间,new出来的东西
回收和释放都不是内存被赋NULL,回收和释放后内存都可以从新被试用,被从新是有前,其内容一般是不会变的,被赋NULL的只有指针,NULL实际代表的是一个特殊的内存地址,该内存是受保护的,不可读不可写。
我是这样理解的,呵呵
被窝式覆盖
2011-10-28
打赏
举报
回复
努力学习中
camelisi
2011-10-28
打赏
举报
回复
=NULL是防止你释放了又马上使用了,这个时候你不知道它具体的指向,就是野指针了
C++
智能指针总结一——auto_ptr
C++
智能指针总结1.前言2.为什么要使用智能指针2.auto_ptr1.API用法2.使用建议 1.前言 本文旨在旋风式的介绍一下智能指针的基本用法,然后一定程度上的解析一下它们的底层原理。 2.为什么要使用智能指针 其实智能指针就是为了解决动态分配的
内存
得不到及时的
释放
的问题而出现的一种机制。 我们知道在C与
C++
语言中,是可以使用指针来操纵
内存
的。使用malloc或new可以在堆上分配一块
内存
。但使用malloc或new分配的
内存
是不会被操作系统主动
回收
的,需要程序员自己手动
释放
。如果程序员分配了太多
【让
C++
与ROS共舞】第三篇·与
C++
的相知
目录1.
内存
分区模型1.1 未执行程序之前1.1.1 全局变量1.1.2 静态变量1.1.3 常量1.2 程序执行后2.引用2.1 概述2.2 引用做函数参数2.3 引用做函数返回值2.4 常量引用3.函数提高3.1 函数默认参数3.2 函数占位参数3.3 函数重载 1.
内存
分区模型 在一个程序中,系统会自动将我们的程序进行分区管理,分为四个区:代码区、全局区、栈区、堆区,这四个区域各有分工,共同撑起我们程序的一片天,下面让我们一起研究一下它们。 意义:赋予不同数据生命周期,给我们更大的灵活编程 1.
[C/
C++
]各种面试题
各种面试题 *程序的
内存
分配 一个由c/
C++
编译的程序占用的
内存
分为以下几个部分 1、栈区(stack)— 由编译器自动分配
释放
,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。 2、堆区(heap) — 一般由程序员分配
释放
, 若程序员不
释放
,程序结束时可能由OS
回收
。注意它与数据结构中的堆是两回事,分配方式倒是类似于链表,呵呵。 3、全...
最近找工作,一些面试经历(持续更新)
一.阿里巴巴电面1.
C++
与Java的
区别
,java
内存
怎么
回收
C++
有指针,Java
没
指针,
C++
内存
需要手动删除,java
内存
自动
回收
2.声明一个变量和定义一个变量的
区别
声明一个变量不占用
内存
,定义一个变量需要分配
内存
3.new与malloc的
区别
new/delete是
C++
关键字,需要编译器支持。malloc/free是库函数,需要头文件支持。new操作符
内存
分配成功时,返回的是对象类型的指...
Nginx
内存
池
Nginx
内存
池前言一.高并发下传统方式的弊端1.高并发时较小
内存
块使用导致系统调用频繁,降低了系统的执行效率2.频繁使用时增加了系统
内存
的碎片,降低
内存
使用效率3.
没
有垃圾
回收
机制,容易造成
内存
泄漏,导致
内存
枯竭二.弊端解决之道1.系统层面2.应用层面三.Nginx
内存
池总结实现1.什么是
内存
池2.实现思路3.Nginx
内存
池结构图4.数据结构详解完整代码文件: 前言 最近学习了Nginx的
内存
池实现。想着总结记录一下。 一.高并发下传统方式的弊端 首先为什么我们需要使用
内存
池,就是因为传统方式有很
新手乐园
33,311
社区成员
41,785
社区内容
发帖
与我相关
我的任务
新手乐园
C/C++ 新手乐园
复制链接
扫一扫
分享
社区描述
C/C++ 新手乐园
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章