关于new替代malloc时遇到的问题
考虑到c的scanf和malloc的一些不好的特性,本人想用cin 代替scanf,用new代替malloc,下面是一段可以正常编译运行的程序,但其中的malloc如果换成new就编译通过不了,想请教一下如果改成new应该如何写?另外如果用typedef,然后再new又如何写?#include <iostream>
using namespace std;
int main()
{
int i,line;
cout<<"plz input the line"<<endl;
cin>>line;
char (*p)[5];
p=(char (*)[5])malloc(sizeof(*p)*line);
//p= new (char(*)[5])[line]; 这样写代替上句通过不了
for(i=0;i<line;i++){
strcpy(p[i],"1234");
cout<<"p["<<i<<"]="<<p[i]<<endl;
}
return 0;
}