gpt4 book ai didi

java - C#/Java如何存储二维数组,与C++有何不同?

转载 作者:行者123 更新时间:2023-11-30 21:00:49 27 4
gpt4 key购买 nike

据我所知,C++ 通过将二维数组值放在内存块(连续虚拟内存?)上来存储数组,这样可以通过索引快速访问值。

读完这篇文章后我提出了这个问题,“使用嵌套数组来存储 2D 网格在 C/C++ 中是有效的,但在 Java 或其他内存管理语言中,这样做实际上会给你一个行数组,其中每个元素是对列数组的引用,这可能不像您希望的那样对内存友好”。

“对列数组的引用”是否意味着它们实际上存储在内存上的许多小块中?

更新

抱歉,我的问题应该是“如果 Java 将 2D 数组存储在许多小块上,那么‘内存管理’如何变得容易”?

最佳答案

在 MxN 矩阵中,它有 N 个数组的 M 个引用。这就是为什么在 C 中,当您想要将数组作为函数参数传递时,必须告诉第二个维度,而在 Java 中则不必这样做。

关于java - C#/Java如何存储二维数组,与C++有何不同?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38518246/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com