![]() |
1
24
如果您已经知道嵌套维度的大小,还可以使用新的:
而不是
|
![]() |
2
6
为了完整性,当你提前知道数组边界时,这里有一个更好的C++方法。使用以下类的好处是,您不必关心对数据调用delete[]。这意味着这个类将是异常安全的,所有其他关于 RAII
直到运行时才知道数组边界:
|
![]() |
3
6
http://www.boost.org/doc/libs/1_37_0/libs/multi_array/doc/user.html#sec_introduction
|
![]() |
4
6
|
![]() |
5
4
|
![]() |
6
4
|
![]() |
7
3
|
![]() |
8
2
循环不会将指针值写入
|
![]() |
9
2
作为另一种选择, STLSoft fixed_array_2d 类(以及3D和4D版本)。与这里给出的自制解决方案相比,它有一个类似的实现,但有一个更完整的功能集(完全支持迭代器等)。与Boo::Mulk数组相比,它的重量更轻,更容易与C++编译器不兼容,但是(故意)缺少多数组的特性。 |
![]() |
10
0
不知何故,对于简单的2D数组,我更喜欢这种表示法,因为我不需要担心指针的嵌套级别。缺点是梅西耶指数符号。下面是一个包含n行和m列的二维数组的示例:
|
![]() |
11
0
这是另一个帖子的复制品。它完全满足您的需要,无需提前知道阵列尺寸,也无需使用boost或STL。 下面是一个例程,它在连续内存空间中分配尺寸为N1 x N2 x N3的3D数组,同时允许您使用a[i][j][k]语法进行操作员访问。数组是动态的但连续的,因此它是向量的一个巨大加号<&燃气轮机;新[]调用的方法和循环。
|
![]() |
Megrez7 · C#ToArray转换合并为一行,导致数组元素更改 4 月前 |
![]() |
bairog · 从按属性筛选的对象数组字典中创建值数组 4 月前 |
![]() |
Anka Hanım · 关于结构和动态数组地址的问题 4 月前 |
![]() |
Geremia · 2D NumPy数组+1D数组? 4 月前 |
![]() |
MARTIN · 交换第一个和最后一个单词,反转所有中间的字符 5 月前 |
![]() |
Paul Williams · 迭代数组时输出有问题 5 月前 |