C++ 怎样动态初始化有二维数组的结构体

2024-11-22 16:09:46
推荐回答(3个)
回答1:

结构体这里

struct MGraph

{...};

然后定义处

MGraph *G = new MGraph();


对于网友采纳答案的质疑:

不知道你是如何坦言“不能用“这三个字的?首先,c++中结构体和类唯一的区别在于默认的访问权限不同,其余完全一样。其次,int *p = new int(5),请问我的new新建的是类还是int型变量?最后,既然用了c++,就不要在用malloc这种C语言的机制了。不知道不要装。


最后对于网友采纳的答案,附一段可编译运行的代码,质问关于new不能用于分配内存给结构体

回答2:

不能用new,new是对类的操作。

MGraph *G;

G = (MGraph*)malloc(
sizeof(MGraph));

回答3:

G = new MGraph;