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”。