24小时热门版块排行榜    

查看: 643  |  回复: 3
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

lixy1217

木虫 (著名写手)

[交流] C++动态内存申请和释放所占用时间 已有3人参与

我感觉申请和释放动态内存所占用的时间好像远远大于普通计算(+  -  *)所占用的时间。

那么,在运用类和operator来进行矩阵运算时,每一次运算就至少要进行一次内存的申请释放,如果一个算法程序要进行大量的矩阵运算,那么岂不是要在这方面浪费太多的计算时间,有没有什么办法能够克服这一点,使得不需要每次矩阵运算都进行一次这样的内存操作?
回复此楼
偶尔敞开心扉,世界将不再孤独
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

libralibra

至尊木虫 (著名写手)

骠骑将军


小木虫: 金币+0.5, 给个红包,谢谢回帖
或者你在计算之前就将内存开辟好,然后将指针或者引用传递进函数,所有函数都直接计算,不存在开销
内存的申请和释放只(尽可能)在主函数完成
matlab/VB/python/c++/Java写程序请发QQ邮件:790404545@qq.com
4楼2012-12-04 17:10:21
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 4 个回答

fhh2626

木虫 (正式写手)


小木虫: 金币+0.5, 给个红包,谢谢回帖
xzhdty: 谢谢参与 2012-12-04 10:57:01
唔。。你可以开一块比较大的空间,不释放而是放在一块链表里,自己使用那块空间就好了,这也是STL的做法
其实你也可以尝试下Blitz++的库,它用了模板元编程,效率远高于常规C++程序和C程序
2楼2012-12-04 10:42:20
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

anntoy

木虫 (著名写手)


小木虫: 金币+0.5, 给个红包,谢谢回帖
申请内存的执行速度怎么能和加减法相比较……差的也太多了啊

[ 发自手机版 http://muchong.com/3g ]
3楼2012-12-04 12:33:54
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
普通表情 高级回复 (可上传附件)
信息提示
请填处理意见