关于动态数组问题?
c++ 里面怎样可以实现2维动态数组的分配和释放?
[解决办法]
晕!还是二维的!
应该可以吧!
[解决办法]
自己实现
要不用boost
[解决办法]
int *p=new int[3][4];
delete []p;
应该是可以的吧,因为在书里没见过还有delete[][]p这种形式的,:P
[解决办法]
这是我昨晚帮同事验证程序时做的试验,可以参考一下,C++改成new-delete就好了
#include <stdio.h>
#include <malloc.h>
void GetPointer(char **szChar)
{
int i = 0;
char *p = NULL;
for ( i = 0; i < 256; i++ )
{
p = (char*) malloc(sizeof(char) * 245);
sprintf(p, "new %d ", i);
szChar[i] = p;
}
}
void main()
{
char *szChar[256];
int i;
GetPointer(szChar);
for ( i = 0; i < 256; i++ )
{
printf( "index %d, content: %s\n ", i, szChar[i]);
free(szChar[i]);
}
}
我用空格代替了TAB,看看代码是否有缩进,呵呵
[解决办法]
简单写一个
int row=10;
int col=5;
int *p= new int [row*col];
int **pp= new int*[row];
for(int i=0; i <row; i++)
pp[i]=(p+i*row);
/// 进行操作
delete p;
delete pp;