游戏开发论坛

 找回密码
 立即注册
搜索
查看: 3277|回复: 9

请教:malloc,,free,和new,,delete 哪个好用?

[复制链接]

14

主题

49

帖子

49

积分

注册会员

Rank: 2

积分
49
发表于 2006-12-19 23:49:00 | 显示全部楼层 |阅读模式
请教:malloc,,free,和new,,delete 哪个好用?

总是弄混

0

主题

9

帖子

9

积分

新手上路

Rank: 1

积分
9
发表于 2006-12-20 00:28:00 | 显示全部楼层

Re:请教:malloc,,free,和new,,delete 哪个好用?

LZ, 注意malloc和free是不??all constructor 和 destructor的, 但是malloc就可以用realloc,
哪个好用?t?乎用在哪?了,个人??T用new 和delete,可以overload??heck memory leak和??memory使用量等.(呵呵,overload?r???alloc和free)

8

主题

716

帖子

716

积分

高级会员

Rank: 4

积分
716
发表于 2006-12-20 10:12:00 | 显示全部楼层

Re:请教:malloc,,free,和new,,delete 哪个好用?

透过表面看本质
new/delete是c++的关键字,new描述为分配指定大小内存并且自动调用构造函数,delete同解
malloc/free是crt里的分配/释放内存的函数
而crt只是一个标准,最终还是会调用具体platform上的API,像是HeapAlloc/HeapFree

所以callstack会像是这样
HeapAlloc
malloc

而new Class后实际会void *p = malloc(sizeof(Class)),然后在p上调用构造函数

35

主题

1735

帖子

1739

积分

金牌会员

Rank: 6Rank: 6

积分
1739
QQ
发表于 2006-12-20 17:58:00 | 显示全部楼层

Re:请教:malloc,,free,和new,,delete 哪个好用?

果然是:老马一出手,就知有没有。

8

主题

310

帖子

311

积分

中级会员

Rank: 3Rank: 3

积分
311
QQ
发表于 2006-12-20 21:18:00 | 显示全部楼层

Re:请教:malloc,,free,和new,,delete 哪个好用?

看速度

14

主题

49

帖子

49

积分

注册会员

Rank: 2

积分
49
 楼主| 发表于 2006-12-20 21:35:00 | 显示全部楼层

Re:请教:malloc,,free,和new,,delete 哪个好用?

o,好高深,那比如我想申请一串内存,来存放位图,要用那个呢?

4

主题

88

帖子

88

积分

注册会员

Rank: 2

积分
88
发表于 2006-12-26 17:26:00 | 显示全部楼层

Re:请教:malloc,,free,和new,,delete 哪个好用?

能不用malloc就不用吧,安全性差。而且现在很少有用那东西的了,更有甚这连new和delete也觉得不安全,就用COM了,手动开内存的事少干点,嘿嘿,让微软的现成的东西帮你干吧

97

主题

590

帖子

590

积分

高级会员

Rank: 4

积分
590
QQ
发表于 2006-12-26 20:00:00 | 显示全部楼层

Re:请教:malloc,,free,和new,,delete 哪个好用?

gcnew,以后垃圾回收就几乎不用程序员来做了吧

4

主题

88

帖子

88

积分

注册会员

Rank: 2

积分
88
发表于 2006-12-27 18:03:00 | 显示全部楼层

Re:请教:malloc,,free,和new,,delete 哪个好用?

说实话,我觉得托管是垃圾。。

4

主题

88

帖子

88

积分

注册会员

Rank: 2

积分
88
发表于 2006-12-27 18:04:00 | 显示全部楼层

Re:请教:malloc,,free,和new,,delete 哪个好用?

gc....就是garbage collection,听着就不爽
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

作品发布|文章投稿|广告合作|关于本站|游戏开发论坛 ( 闽ICP备17032699号-3 )

GMT+8, 2026-1-26 04:34

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表