<分区>
例如之间的内存使用/执行速度是否有任何差异
struct test
{
int a;
float b;
char c;
};
test ar[30];
和
int arr1[30];
float arr2[30];
char arr3[30];
?让我们假装,我们不是在谈论工作舒适度或程序员方面的事情,只是执行速度/内存使用。
<分区>
例如之间的内存使用/执行速度是否有任何差异
struct test
{
int a;
float b;
char c;
};
test ar[30];
和
int arr1[30];
float arr2[30];
char arr3[30];
?让我们假装,我们不是在谈论工作舒适度或程序员方面的事情,只是执行速度/内存使用。
最佳答案
绝对是在内存使用方面。
当你分配test ar[30]
时,你实际上是在分配:
int - float - char - (padding) - int - float - char - ...
在您的第二个示例中,您正在分配:
int - int - int - .... - float - float - ... - char - ...
所以你内存中的布局是完全不同的,这会对你的性能产生影响(取决于你做的OFC)
关于C++ 结构数组和相等数组之间的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26369935/