在下面的示例代码中,我分配了一些结构体Chunk的实例。在for循环中,我通过使用指针或引用迭代内存块并访问不同的实例,并为它们分配一些随机数据。
但是哪个for循环会执行得最快呢?根据我的知识,我认为引用循环将是最快的,因为它不需要解除引用,并直接访问内存中的实例。我有多错/对?
但是哪个for循环会执行得最快呢?根据我的知识,我认为引用循环将是最快的,因为它不需要解除引用,并直接访问内存中的实例。我有多错/对?
struct Chunk {
unsigned int a;
float b;
const char* c;
};
int main() {
Chunk* pData = new Chunk[8];
for( unsigned int i = 0; i < 8; ++i ) {
Chunk* p = &pData[i];
p->a = 1;
p->b = 1.0f;
p->c = "POINTERS";
}
for( unsigned int i = 0; i < 8; ++i ) {
Chunk& r = pData[i];
r.a = 1;
r.b = 1.0f;
r.c = "REFERENCES";
}
delete [] pData;
return 0;
}