我想在C++中建立一个2维数组,而我不知道我会有多少行。下面是一些代码:C++中的动态二维数组?
在头文件:
class model
{
... ...
float vertices[][3];
... ...
}
而在.cpp文件:
istringstream iss(str);
for (int i = 0; i <=2; i++)
{
iss >> vertices[counter][i];
}
这是处理它一个适当的方式?我遇到了分段错误,我只想确保它不是由我使用数组的方式引起的。还有更好的方法来处理这个,谢谢。
回答我建议包装一个单* *载体。使用数学从2D索引计算它的一维索引。通常更简单,更快。 – GManNickG 2010-01-30 06:32:52
@GMan:我不会这么说,因为其中一个维度是固定的(3)。 – kennytm 2010-01-30 06:36:09
@GMan:但是如果应用程序需要像“在第2行有东西时插入第1行”那样的操作,那么移动所有内容会变得非常昂贵。实际上,如果嵌套矢量是交错的,它将变得很昂贵... – 2010-01-30 06:36:55