c++ 动态创建三维数组

方法1    new运算符

使用new运算符和指针来实现,因为C++标准库并没有直接提供动态三维数组。以下是一个简单的步骤说明:

// 假设你想要存储整数,并且第一维和第二维大小未知,但第三维为固定的大小(如3)
//1 定义元素类型和维度:
typedef int T;
int sizeDim1, sizeDim2, sizeDim3 = 3;
//2 使用new创建数组:
T** array; // 创建一个指向二维数组的指针
array = new T * [sizeDim1]; // 分配第一维的内存
for (int i = 0; i < sizeDim1; ++i) {
    array[i] = new T[sizeDim2 * sizeDim3]; // 对于每行,分配第二维的内存
}
//3 访问和操作数组元素:
array[rowIndex][colIndex][sliceIndex] = value; // 存储值
value = array[rowIndex][colIndex][sliceIndex]; // 读取值
//4 使用完毕后,记得释放内存:
for (int i = 0; i < sizeDim1; ++i) {
    delete[] array[i]; // 删除每一行的内存
}
delete[] array; // 删除整个二维数组的内存

方法2    容器vector

容器类(如std::vector)提供了动态扩展容量的能力,它们会在需要时自动分配更多内存。

    vector<vector<vector<int>>> dp(m + 1, vector<vector<int>>(n - m + 2, vector<int>(n + 1)));

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值