处理矩阵是用指针好还是用二维数组? 最近写程序接触了很多矩阵计算,现在我想知道是用指针好还是用二维数组比较好?我觉得对称矩阵用指针比较好,可以节约一半内存;普通的矩阵用二维数组比较好,代码便于理解。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 其实我早就想做一个矩阵类,但是苦于水平低下,一些函数也没有准备齐用第三方的库,又没有安全感,而且总觉得不是自己的东西,不顺手。慢慢积累吧。按照你的意思,似乎是用matrix[][]这样表示比较好?其实我实际开发的时候也是用的二维数组,但声明一个300*300的数组,只用其中一半,总觉得不爽。 ---- 二位数组是在 程序的栈上分配空间,而栈的大小受到很大的限制, 最大的大小受到连接参数(/STACK)的控制,默认大小为 1M。---- new 分配的空间是在堆上,最大的大小取决于寻址能力,如果处理大量数据(比如图像)建议使用堆上的空间 众说纷纭.........我倒了...........那么,哪位大佬能总结一下呢?什么情况下用二维数组?什么情况下用指针?什么情况下用new? static? const??我个人觉得:知道大小的,用二维数组;不知道大小的,用指针;利用二维数组,最好加上static, 就不会出现 stack flow;经验丰富的,就自己写一个类;如果将一个矩阵作为函数的参数(分改变被传递的矩阵和不改变两种情况),怎么用好呢? to rucil(电气工程师广广) 你的“知道大小的,用二维数组;不知道大小的,用指针;”不正确(指针是不能指向一个未知大小的内存区域的)。 你要知道堆和栈的区别。 我不知道堆的概念 :( 我只学过微机原理,知道栈是一块内存,最后push进去的数据最先被pop出来;那么,new产生的指针也不能指向未知大小的内存吗? 我是做图像处理的,所有数组我都是动态分配,使用格式为a[y][x],a[z][y][x]。这样算法看起来很清晰。 关于指针运算,是不是可以考虑用MATLAB,要方便地多! matlab功能很强,但速度有点慢。不太适合用在游戏编程中 我看用CArray 吧,以后你还有可能加数据呢, 有人谈到了matlab, 那么matlab的C/C++接口,大家用的是什么呢?是matcom还是直接用cpp math library? 为什么idl文件里面有多个[default ...]接口? 如何将MAP或VECTOR的内存映射到文件上? 奇怪的问题. 如何创建不带XP样式的窗口? VC++编译出现下列提示,可能是什么问题? 怎么导入bmp文件到资源里去? 图形学问题 工具条显示问题? netmeeting高手帮忙!!!一个关于netmeeting的问题!如果问题解决再送100分!!!!!! 请问哪里可以下载或买到李维的关于ADO的书 小弟一段程序看不懂,麻烦进来帮我解释一下 想找工作请看看
用第三方的库,又没有安全感,而且总觉得不是自己的东西,不顺手。慢慢积累吧。按照你的意思,似乎是用matrix[][]这样表示比较好?其实我实际开发的时候也是用的二维数组,但声明一个300*300的数组,只用其中一半,总觉得不爽。
---- new 分配的空间是在堆上,最大的大小取决于寻址能力,如果处理大量数据(比如图像)建议使用堆上的空间
那么,哪位大佬能总结一下呢?什么情况下用二维数组?什么情况下用指针?
什么情况下用new? static? const??我个人觉得:
知道大小的,用二维数组;
不知道大小的,用指针;
利用二维数组,最好加上static, 就不会出现 stack flow;
经验丰富的,就自己写一个类;如果将一个矩阵作为函数的参数(分改变被传递的矩阵和不改变两种情况),怎么用好呢?
我只学过微机原理,知道栈是一块内存,最后push进去的数据最先被pop出来;
那么,new产生的指针也不能指向未知大小的内存吗?