C_and_CPP 板


LINE

各位大大不好意思,小弟根据大大的关键字malloc 於是使用了这个东西 也就是把malloc 用在C++上 但发现了一个问题 也就是发现了比如说我原本D[100][100]可以放10000个double的资料 但用了malloc 结果发现不能超过20*20=400个东西 也就是我用了 反而能用的记忆体更小 囧rz 不知道为啥 不知道能否赐教 鞭策小弟一下错误 不知道是不是因为硬在c++用malloc(?) #include "stdafx.h" #include<iostream> #include<math.h> #include<ctime> #include<cstdlib> #include<fstream> #include <complex> //多include的东西之後写的东西要用 using namespace std; int _tmain(int argc, _TCHAR* argv[]) { int length=10; //matrix size 超过20就暴了...比使用D[100][100]小很多很多 //memory allocate of the matrix unsigned int size_A = length*length; unsigned int mem_size_A = sizeof(double) * size_A; complex<double>* D = (complex<double>*) malloc(mem_size_A); double i1,i2; //initial D int i,j,k; for(i=0;i<length;++i){ for(j=0;j<length;++j){ i1=(double)rand()*2/32767-1; i2=(double)rand()*2/32767-1; k=i*length+j; D[k1]=complex<double>(i1,i2); } } system("pause"); return 0; } ※ 引述《DreamLoser (金属制品)》之铭言: : 不好意思 小弟对硬体不太熟 可能会问出蠢问题... : 就是array大小要怎麽扩增呢? : 比如说我的array一开始宣告他的最大可放的大小10*10*4*4 : complex<double>D[10][10][4][4] : 大概这样就到极限了 : 但是我的程式可能要写个D[10][10][4][4][3][3] 我想应该不行... : 或是D[20][20][4][4] 也会暴 也就是这个总记忆体大小不能超过两三万个格子.... : 当然如果把double变成是比较小的比如说int当然是可以扩展啦 但因为我做的是科学运算 : 所以double这个是要维持精准度..没办法改 : 这个array的记忆体大小是c++内建的限制吗?(我猜得)可以解除这个限制吧? : 有什麽简单的方法去解除这个限制呢? : 我用的是visual 2008 c++ : fortran好像没有记忆体大小的限制喔?那c语言有吗? --



※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 59.112.81.223
1F:→ akasan:sizeof(double) != sizeof(complex<double>) .... 06/15 16:49
2F:→ DreamLoser:阿阿原来如此 忘记那边要改啦 通啦!!!谢谢!!谢谢!! 06/15 16:56
3F:推 littleshan:这样写严格来说是不对的,因为 malloc 不会呼叫 ctor 06/15 17:06
4F:→ littleshan:但因为运气好,complex 未执行 ctor 也可顺利运作 06/15 17:07
5F:→ littleshan:建议是改用 new,或是乾脆用 vector (请见五分钟教学) 06/15 17: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灯, 水草

请输入看板名称,例如:BabyMother站内搜寻

TOP