指针类型的添加

如果其中一个在加法运算的操作数是指向对象的数组,其他必须为整型。 结果为与原始指针相同,然后指向另一个数组元素的指针。 下面的代码片段阐释了此概念:

short IntArray[10]; // Objects of type short occupy 2 bytes
short *pIntArray = IntArray;

for( int i = 0; i < 10; ++i )
{
    *pIntArray = i;
    cout << *pIntArray << "\n";
    pIntArray = pIntArray + 1;
}

虽然整数值 1 添加到 pIntArray,并不意味着 “将 1 添加到该地址”;而是指 “调整指针指向该数组中的下一对象”意外为 2 字节 (或 sizeof( int ))。

备注

窗体 pIntArray = pIntArray + 1 的代码在 C++ 程序很少找到;若要执行增量,这些窗体优于: pIntArray++ 或 pIntArray += 1。

请参见

参考

与二元运算符的表达式