关于malloc的用法转化为new的用法的一个问题
考虑到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; }