C ++中++ * p,* p ++和* ++ p之间的区别
在本节中,我们将看到C++中*ptr++,*++ptr和++*ptr有什么区别。
在这里,我们将看到C或C++中postfix++和prefix++的优先级。前缀++或-的优先级高于取消引用运算符'*'和后缀++或-的优先级高于前缀++和取消引用运算符'*'。
如果ptr是指针,则*ptr++表示*(ptr++),而++*prt表示++(*ptr)
范例程式码
#include<iostream> using namespace std; int main() { char arr[] = "Hello World"; char *ptr = arr; ++*ptr; cout << *ptr; return 0; }
输出结果
I
因此,这里最初的ptr指向“H”。使用++*ptr后,它会将H增加1,现在的值为“I”。
示例代码(C++)
#include<iostream> using namespace std; int main() { char arr[] = "Hello World"; char *ptr = arr; *ptr++; cout << *ptr; return 0; }
输出结果
e
因此,这里最初的ptr指向“H”。使用*ptr++后,它将增加指针,因此ptr将指向下一个元素。所以结果是“e”。
示例代码(C++)
#include<iostream> using namespace std; int main() { char arr[] = "Hello World"; char *ptr = arr; *++ptr; cout << *ptr; return 0; }
输出结果
e
在此示例中,我们还使用++来增加ptr,其中pre-increment++的优先级更高,然后先增加指针,然后使用*取值。因此它正在打印“e”。