C++ new怎么用

for(int i=0;i<=9;i++)
{
char a[38],b[13],c[13];
for(int j=0;j<=37;j++)
infile>>a[j];
infile.seekg(1,ios::cur);
for(int j=0;j<=13;j++)
infile>>b[j];
infile.seekg(61,ios::cur);
for(int j=0;j<=13;j++)
infile>>c[j];
infile.seekg(89,ios::cur);
p[i]=new genesequence(a,b,c);
}
new能不能这样用啊,在调试的时候为什么当执行第二次循环是程序就崩了
编译器是VS2012

小唯快跑啊
浏览 756回答 1
1回答

PIPIONE

负责分配一个动态的内存空间 —— 在程序运行时分配,而不是编译前分配。int *a = new int; //分配一个int型数据的存储空间。没有变量名,用指针//a来调用。int可以换成其他类型。...delete a; //调用结束后,记住用delete删掉分配的空间,以免内存泄//露。如果是分配的动态数组的话,则用另一组new和delete。int *p[10] = new int[10];...delete[];记住new和delete是成对的,new[]和delete[]也是如此,否则会出现错误。追问您说的我知道我的new和delete都是成对的上面只是部分代码,我的意思是在调试时for循环中i=0时程序正常,i=1时执行到p[i]=new genesequence(a,b,c);这句时编译器跳出这个,请问是哪里错了
打开App,查看更多内容
随时随地看视频慕课网APP