C++有没有使用直接引用的方法
是这样的,当我申请一个数组int a[10],一个指针int× b = (int*)a;
下面a[0] = 2; b[1] = 3;
这里a[0]是直接引用,只有1个mov指令,而b[1]是间接引用,使用了2个mov指令。
有没有某种方法使得我只用1条mov指令就可以引用对上的内存空间?
[解决办法]
实际上编译器会把它们优化成一样的,
你说那个编译器还做不到把
mov ecx, dword ptr [ebp+2]
mov dword ptr[ecx], 3
mov ecx, dword ptr [ebp+4]
mov dword ptr[ecx], 4
优化成
mov ecx, dword ptr [ebp+2]
mov dword ptr[ecx], 3
mov dword ptr[ecx+2], 4
呢?
所以你除非是只赋值一次,否则连续多次赋值时两者效率始终只差了一条汇编语句。