这是初始化可变大小数组的正确方法吗?
Is this the correct way of initializing a variable-sized array
我想创建一个可变大小的二维数组,行数为 m,列数为 n。 m 和 n 的第 n 个值在执行期间从用户那里获取。 以下方法工作并生成输出。现在让我知道这在与 cpp 相关的所有情况下在技术上是否正常。
#include<iostream>
using namespace std;
int main() {
int **arr, m,n;
cout<<"enter";
cin>>m>>n;
arr = new int*[m];
for(int i = 0; i < m; i++) {
arr[i]=new int[n]; // initializing a variable-sized array
}
for(int i = 0; i < m; i++) {
for(int j = 0; j < n; j++) {
cout<<arr[i][j]; // printing the array
}
}
}
从你所说的,我认为你想要一个二维数组,其中列数和行数在运行时确定。
因此,要创建此数组,我们使用以下语法:
int l = 5; //set this on runtime with a cin or something else
int k = 5; //set this on runtime with a cin or something else
int array [k][l] = {};
恭喜这段代码创建了一个 5x5 大小的多维数组,其中每个整数都用数字"0"初始化,因为这是整数的默认初始化
有关更多信息,您应该查看以下链接:
声明和初始化数组
多维数组
相关文章:
- 初始化具有非默认构造函数的std::数组项的更好方法
- 复制几乎为空的数组的最快方法
- 通过JNI传递数据数组的最快方法是什么
- 在调用接收数组的方法时,模板化数组大小是不是一种糟糕的做法
- 数组元素打印的递归方法
- 在c++中为我自己的基于指针的数组分配内存的正确方法
- 在 c++ 中对类中的 c 字符串动态数组进行排序的最佳方法是什么?
- 有没有一种代码密度较低的方法来使用非默认构造函数初始化数组?
- C++数组队列实现方法错误
- 寻找一种更好的方法来表示无符号字符数组
- 在 C++ 中将整数数组转换为位集表示形式的最佳方法?
- 初始化数组、"memset"或" {//value} "的最佳方法是什么?
- 创建异构顶点数据数组的可移植方法
- 打印字符数组地址的正确方法
- 还有其他方法可以在数组中写入多维数组吗?
- 从数组中删除非唯一值、保持顺序和不使用向量的最佳方法?
- 有没有一种惯用的方法可以在不存储变换或不必要地重新计算的情况下找到数组变换的最小/最大值?
- 从非类型模板参数声明 constexpr 数组的可移植方法
- 初始化不是整数的巨大常量多维数组的最佳方法是什么?
- 仅通过C++中数组初始化的不同方法,即可在同一输入上获得两个不同的答案