Phần này xem độ ưu tiên của postfix++ và prefix++ trong C/C++. Độ ưu tiên prefix ++ hoặc -- cao hơn toán tử gián tiếp '*', và postfix ++ hoặc -- có ưu tiên cao hơn cả prefix ++ và toán tử '*'.
Khi ptr là con trỏ, thì *ptr++ nghĩa là *(ptr++) và ++*ptr nghĩa là ++(*ptr).
Ví dụ
#include<iostream>
using namespace std;
int main() {
char arr[] = "Hello World";
char *ptr = arr;
++*ptr;
cout << *ptr;
return 0;
}Kết quả
I
Đầu tiên ptr trỏ 'H'. Sau ++*ptr tăng H lên 1, giá trị thành 'I'.
Ví dụ
#include<iostream>
using namespace std;
int main() {
char arr[] = "Hello World";
char *ptr = arr;
*ptr++;
cout << *ptr;
return 0;
}Kết quả
e
Đầu tiên ptr trỏ 'H'. Sau *ptr++ tăng con trỏ, ptr trỏ phần tử tiếp theo, kết quả 'e'.