C_and_CPP 板


LINE

该是很基本的问题,就是function中的array空间想重负使用,要怎处理呢? 有 array *y,长度 n 入 function linearInterp做线性内插为长度nx的yInterp ,这步骤做很多次: #define real double real *yInterp; for(int i =0;i< M;i++) { : //(一些计算 得到y) : yInterp = linearInterp(n,nx,y); : //把yInterp存起来 free(yInterp); }//for real *linearInterp(int n, int nx, real *y) { real *yInterp = new real[nx]; : //把y做线性内插,并存成yInterp : return yInterp; }//linearInterp 这样做是没有问题,但yInterp这array一直在那开开关关,会让速度慢下不少 我尝试将real *yInterp = new real[nx]; 这行前面加上static 字样 并将 free(yInterp)移到回圈外面,却会造成crash。 请问要怎写才可让记忆体空间重复使用而不开开关关呢? (请不要说把 real *yInterp = new real(n);这行移到function外面。。) 谢谢。 --



※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 61.216.82.2
1F:推 ledia:把 real *yInterp = new real(n);这行移到function外面 03/10 19:14
2F:→ ledia:我偏要说偏要说 XD 03/10 19:15
3F:→ hpeter:我也是这样想@@ 用全域有什麽不好的吗?不用一直malloc free 03/10 19:16
4F:→ hpeter:空间换时间~ 很正常的XD 03/10 19:17
5F:→ hpeter:如果 nx 有上限或是固定值的话 就简单多了 03/10 19:17
6F:→ Carbontube:nx是故定的。。所以才问记忆体是否能重复用。。 03/10 19:19
7F:→ hpeter:当然 real *yInterp = new real(n);这行移到function外 03/10 19:19
8F:→ hpeter:compile 不会过XD 03/10 19:19
9F:→ hpeter:固定的话 在init时就malloc好 以後就传ptr + length 03/10 19:20
10F:→ Carbontube:楼上,这样不就是把real *yInterp = new real(n)移到外 03/10 19:21
11F:→ hpeter:实作上 移到function外 compile 会过吗@@? 03/10 19:22
12F:→ hpeter:固定的话用全域 + #define MAX_NX 也不错XD 03/10 19:22
13F:→ Carbontube:当然要改成call by ref,不过我意思是说 不要在外面 03/10 19:23
14F:→ Carbontube:配记忆体,这样外面会一堆new XXX 看很不顺眼 03/10 19:23
15F:→ hpeter:#define MAX_NX (10L); static real sRealItem[MAX_NL]; 03/10 19:25
16F:→ hpeter:XD 03/10 19:25
17F:推 ledia:看不顺眼跟效率的取舍, 看你自己了 03/10 19:46
18F:→ mellean:那外面有delete或free就不会不顺眼了吗? ~"~ 03/11 02:08







like.gif 您可能会有兴趣的文章
icon.png[问题/行为] 猫晚上进房间会不会有憋尿问题
icon.pngRe: [闲聊] 选了错误的女孩成为魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一张
icon.png[心得] EMS高领长版毛衣.墨小楼MC1002
icon.png[分享] 丹龙隔热纸GE55+33+22
icon.png[问题] 清洗洗衣机
icon.png[寻物] 窗台下的空间
icon.png[闲聊] 双极の女神1 木魔爵
icon.png[售车] 新竹 1997 march 1297cc 白色 四门
icon.png[讨论] 能从照片感受到摄影者心情吗
icon.png[狂贺] 贺贺贺贺 贺!岛村卯月!总选举NO.1
icon.png[难过] 羡慕白皮肤的女生
icon.png阅读文章
icon.png[黑特]
icon.png[问题] SBK S1安装於安全帽位置
icon.png[分享] 旧woo100绝版开箱!!
icon.pngRe: [无言] 关於小包卫生纸
icon.png[开箱] E5-2683V3 RX480Strix 快睿C1 简单测试
icon.png[心得] 苍の海贼龙 地狱 执行者16PT
icon.png[售车] 1999年Virage iO 1.8EXi
icon.png[心得] 挑战33 LV10 狮子座pt solo
icon.png[闲聊] 手把手教你不被桶之新手主购教学
icon.png[分享] Civic Type R 量产版官方照无预警流出
icon.png[售车] Golf 4 2.0 银色 自排
icon.png[出售] Graco提篮汽座(有底座)2000元诚可议
icon.png[问题] 请问补牙材质掉了还能再补吗?(台中半年内
icon.png[问题] 44th 单曲 生写竟然都给重复的啊啊!
icon.png[心得] 华南红卡/icash 核卡
icon.png[问题] 拔牙矫正这样正常吗
icon.png[赠送] 老莫高业 初业 102年版
icon.png[情报] 三大行动支付 本季掀战火
icon.png[宝宝] 博客来Amos水蜡笔5/1特价五折
icon.pngRe: [心得] 新鲜人一些面试分享
icon.png[心得] 苍の海贼龙 地狱 麒麟25PT
icon.pngRe: [闲聊] (君の名は。雷慎入) 君名二创漫画翻译
icon.pngRe: [闲聊] OGN中场影片:失踪人口局 (英文字幕)
icon.png[问题] 台湾大哥大4G讯号差
icon.png[出售] [全国]全新千寻侘草LED灯, 水草

请输入看板名称,例如:Boy-Girl站内搜寻

TOP