程序中频繁施用new/delete有可能会造成内存碎片吗

程序中频繁使用new/delete有可能会造成内存碎片吗?
现在的碰到的问题是,程序长时间运行后,内存会有较轻微的增长。查找内存泄露无果,怀疑是不是使用new/delete造成了内存碎片,从而看起来程序的内存空间在呈增长的趋势?

------解决方案--------------------
肯定的, 在服务器上最好不要频繁的这样。
------解决方案--------------------
当然会,VC6下频繁new/delete还会报错
------解决方案--------------------
VC 一般程序编译已包含crt, crt其实已经是一个内存池, 个人觉得一般都不用关心内存碎片问题

程序长时间运行后,内存会有较轻微的增长, 并不是一定是泄漏或碎片
比如有一个类使用成员vector, 如果经常push 又没erase, 内存肯定会越来越大
------解决方案--------------------
确实不用太过关心内存碎片问题,那都是一些历史问题,现在的操作系统大多会很好的管理内存。
------解决方案--------------------
‘使用new/delete造成了内存碎片’最后是物理内存耗尽。并使用虚拟内存,使运行速度下降。
但那时系统的事,你‘使用’的内存不应增加
------解决方案--------------------
会有碎片的,找出某些内存不可用
------解决方案--------------------
服务器程序,要考量内存碎片的问题
客户端程序,就别太过担心

能够用局部变量(栈)解决的,最好别new,new不仅有碎片问题,更重要的是效率问题
较大块的内存需求和跨线程内存管理,可能需要一个统一的内存管理模块来处理
------解决方案--------------------
一般很少用new delete
------解决方案--------------------
一般不会有碎片问题,除非new和delete频繁交叉使用。
------解决方案--------------------
程序长时间运行后,多长时间?

碎片有,但是碎片的大小不会计算在你程序使用的内存中的。也就是说你在任务管理器的内存列是看不到的。
------解决方案--------------------
检查是否资源泄漏的办法之一:
在任务管理器 进程 查看 选择列 里面选择:内存使用、虚拟内存大小、句柄数、线程数、USER对象、GDI对象
让你的程序(进程)不退出,循环执行主流程很多遍,越多越好,比如1000000次甚至无限循环,记录以上各数值,再隔至少一小时,越长越好,比如一个月,再记录以上各数值。如果以上两组数值的差较大或随时间流逝不断增加,则铁定有对应资源的资源泄漏!

------解决方案--------------------
整体服务器性能肯定下降的
------解决方案--------------------
探讨
整体服务器性能肯定下降的

------解决方案--------------------
这个主要看你的程序要连续不断的运行多长时间,时间短的话 基本可以不考虑这种问题
------解决方案--------------------
用工具看看内存吧
比如http://hashpling.org/asm/
------解决方案--------------------
我觉得有用有释放的话,应该问题不是他。
------解决方案--------------------
new delete是经过封装了的运算符,相比malloc free virtualalloc之类的运算符都做了优化处理。所以可以放心使用.