关于解除引用运算符的优先级

note that ++ 的优先级比 解除引用运算符 * 要强,但是 ++ 运算符必须等上一操作结束了才会执行

int * ptr = new int[8]{ 1,3,5,7,9,11,13,15 };
    int a = *ptr++;                                            //a=1,ptr->3
    cout << a << endl << *ptr++ << endl;                       //ptr->5
    int b = *(ptr++);                                          //b=5,ptr->7
    cout << b << endl << *(ptr++) << endl;                     //ptr->9
    int c = *ptr + 1;                                          //c=10,ptr->9
    cout << c << endl << *ptr + 1 << endl;                     //ptr->9
    int d = *(ptr + 1);                                        //d=11,ptr->9
    cout << d << endl << *(ptr + 1) << endl;
    
    // output: 1 3 5 7 10 10 11 11

总结,i++ 的优先级很高,但是必须保证在上一操作结束后执行这一点上有无括号并不影响,若是使用 ++i 结果又不一样。