请问如何用模板推导的方法写多维动态数组?动态多维数组类需要实现一下 3 种功能:
- 初始化
动态多维数组有两个最基本的属性:数据类型、维数,通过模板参数确定。
在初始化时,我们需要指定动态多维数组在不同维度上的初始大小。
- 拷贝和移动
动态多维数组支持元素的拷贝和移动。
在这个过程中,数组的维数保持不变,但各个维度的大小可能改变(所谓“动态”)。例如,一个三维数组的初始尺寸是
3×3×3
3×3×3,虽然不能将其改成四维数组或二维数组,但是可以把它的尺寸改为
2×3×4
2×3×4。
当然,你需要避免内存泄露的出现。
- 元素的访问
和普通数组一样,动态多维数组支持使用下标运算符对数组中的元素进行访问(读和写),如:
int a = arr_6[0][1][2];
arr_6[0][1][2] = 1024;
万分感谢!