Point V[rows];
这是否允许在C ++中使用? rows
是一个变量,其值在运行时给出,Point
是我的类。
答案 0 :(得分:4)
在C ++中,可比的习语是:
std::vector<Point> V(rows);
它不是100%相同,因为它仍然调用new Point[]
(c99可以使用堆栈),但它仍然为您提供向量而不执行多个alloc。
答案 1 :(得分:0)
仅在C99中 - 这是一个名为“可变长度数组”的新功能。通常,没有。
我强烈建议不要使用此功能。如果必须这样做,请使用alloca,或正确分配它们,即Point *V = new Point V[rows];
。