C++ 为矩阵分配内存(n*1)

C++ 为矩阵分配内存(n*1),c++,memory-management,matrix,C++,Memory Management,Matrix,我想创建一个n*1的矩阵(一列矩阵。n可以是任意整数) 我认为应该是这样的: int mat[][1]; cin >> n; *mat = new int[n]*; 感谢您的帮助 如果您将矩阵声明为: int * * mat = new int * [ n ]; int mat[][1]; 这意味着您没有进行动态内存分配 您应该执行以下操作: int **mat = new int*[n]; //n is number of rows for (int i = 0; i <

我想创建一个n*1的矩阵(一列矩阵。
n
可以是任意整数)

我认为应该是这样的:

int mat[][1];
cin >> n;
*mat = new int[n]*;

感谢您的帮助

如果您将矩阵声明为:

int * * mat = new int * [ n ];
int mat[][1];
这意味着您没有进行动态内存分配

您应该执行以下操作:

int **mat = new int*[n]; //n is number of rows
for (int i = 0; i < n ;++i)
{
   mat[i] = new int[1];
}
int**mat=newint*[n]//n是行数
对于(int i=0;i

无论如何,您应该更喜欢使用
std::vector
而不是使用动态分配的数组,尤其是当您只有一列时。

只有一列的矩阵就是向量。为什么不直接使用
ìnt mat[n]
?在这个主题上有很多问题,搜索动态内存分配或可变长度数组。但我希望它是一个矩阵(两个指针)。我知道如何定义向量,但我想要一个矩阵。谢谢,但我想要一个每行都有指向int的指针的矩阵。