区别在哪里?
int i[10];
int * p = & i[0];
int offest = 3;
p += offest; (a)
p += 3; (b)
表达式 (a) 和 (b) 有什么区别?
唯一看出来的区别就是:
offset,看代码的人一看,就知道是偏移量,修改容易。因为后面的代码可能还会用到offset的内容
[解决办法]
如果编译器没有优化的话, (a) 比 (b) 要多访问一次内存.
[解决办法]
没有任何区别啊,
整数默认是int型的
[解决办法]
这个都是偏移地址量,区别没有
[解决办法]
一样的行为。
[解决办法]
1、VC2005上结果是一样的
2、编译环境不同,可能有差别
3、a的可读性强