我知道如果我有一个int A[512]
引用 A 可以指向第一个元素的数组。在指针算术中,内存被引用为A + index
.
但如果我没记错的话,指针/引用也占用了一个机器字的空间。假设一个 int 占用了一个机器字,那是否意味着上面数组的 512 个整数占用了 513 个字的空间呢?
C++ 或 C# 中的对象及其数据成员是否相同?
更新:哇你们真快。澄清一下,我感兴趣的是 C++ 和 C#在处理这个问题上的不同之处,以及我如何调整对象大小以适应缓存行(如果可能的话)。
更新:我已经意识到指针和数组之间的区别。我知道数组不是指针,并且我上面引用的指针算法仅在数组转换为指针后才有效。但是,我认为这种区别与整个问题无关。我对如何在 C++ 和 C# 中将数组和其他对象存储在内存中感兴趣。