c++ - 多维动态矩阵如何创建一个?

标签 c++

我在 Ubuntu 上使用 C++ 工作。我想知道如何创建具有动态长度的矩阵?

我这样做了:int matrix[12][] 但它不起作用。列的维度将在我的代码中逐步增加。有人可以在示例中向我展示正确的代码吗?

最佳答案

int ** matrix;
matrix = new int* [rowcount];
for (int i = 0; i<rowcount; ++i)
{
   matrix[i] = new int[colcount]
}

要清理它:

for(int i = 0; i < rowcount; ++i)
    delete [] matrix[i];
delete [] matrix;

当然,当你使用 vector 时,内存管理是自动完成的;

vector<vector<int> > matrix(rowcount, vector<int>(colcount));

关于c++ - 多维动态矩阵如何创建一个?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6436729/

相关文章:

c++ - C++ 代码错误 "expected constructor, destructor, or type conversion before ‘(’ token ”和 "no matching function for call to ..."

c++ - OpenGL 错误编译时间

c++ - 当 STL 容器复制到自身时,是否应该避免将元素复制到自身中?

c++ - 如何将多个QHash合并为一个QHash

c++ - 函数模板中的非类型参数

c++ - 计算 2 个 TDateTime 之间的时间

c++ - 谁可以帮助解释我的代码中有什么问题..在 C++ 中计算数组的种类

c++ - 如何清除 SDL_Surface 以替换为另一个 SDL_Surface?

c++ - 当我从父节点中删除一个节点时调用哪个方法

c++ - 抑制一行代码的弃用警告? (C++)