在线等待:在VC++中实现可变长度二阶数组的办法(就是用变量确定数组长度),多谢各位高手!! 很急ing.......残念 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 CArray模版,其元素也是CArray模版不可以吗或者用stl的Vector,其元素也是Vector不也可以了吗 谢,不过首先是速度很慢,其次用起来很不方便,所以....还有我想问一下,为什么结构体不能用new动态分配内存? 谁说结构体不能用new动态分配内存?如果不用模版,你也可以自己写一个简单的容器类来实现,也不难啊 #include <stdlib.h>#include <iostream.h>void main(){ int m=2; //行 int n=2; //列int** array;array=new int[m]; for(int i=0;i<m;i++){ array[i]=new int[n]; cin<<array[i];}for(i=0;i<m;i++)for(int j=0;j<n;j++)cout<<array[i][j];} CArray模版 和 int** array; 的方法都可以 我习惯把尺寸可变的二维数组,或者更高维的数组用一维数组来存储,int a[m*n];for(i=0; i<m; i++){ for(j=0; j<n; j++) { a[i*n + j] = xxx; }}这样其实很好用,传递数组的时候,只要额外传递 m, n就可以了。 首先动态分配一个指针数组,在给每个指针动态分配长度,即可组成一个而维数组。int *pArray[n];for (i=0;i<n;i++) pArray[i]=new int[m];此时pArray[n][m]即为一个可变长度二位数组。 解析XML出错,无法创建DOMDocument对象 VS2008中 进度条控件如何去掉刻度? 遇到难难难难题了,怎样往调用的exe文件中传递参数,给高分!! 顶级复杂的 richedit 乱码问题。。。吐血狂晕~~ 最近小弟学DLL,那位大哥行行好啊,发点DLL相关代码我琢磨下啊 (转帖)男生想要第一次的心里-------(女孩子必看) 视频聊天 c++、vc 高手请进 怎样在CRichEdit中增加自定义的格式并能编辑与控制显示方式 怎样让窗口始终保持在屏幕的最前面啊? 问一个VC与Access问题! 问题
或者用stl的Vector,其元素也是Vector不也可以了吗
还有我想问一下,为什么结构体不能用new动态分配内存?
如果不用模版,你也可以自己写一个简单的容器类来实现,也不难啊
#include <iostream.h>
void main()
{
int m=2; //行
int n=2; //列int** array;
array=new int[m];
for(int i=0;i<m;i++)
{
array[i]=new int[n];
cin<<array[i];
}
for(i=0;i<m;i++)
for(int j=0;j<n;j++)
cout<<array[i][j];
}
int a[m*n];
for(i=0; i<m; i++)
{
for(j=0; j<n; j++)
{
a[i*n + j] = xxx;
}
}
这样其实很好用,传递数组的时候,只要额外传递 m, n就可以了。
int *pArray[n];
for (i=0;i<n;i++)
pArray[i]=new int[m];
此时pArray[n][m]即为一个可变长度二位数组。