C++ 在cpp/c中使用指针引用时,为什么增量运算符(+;+;)不起作用

C++ 在cpp/c中使用指针引用时,为什么增量运算符(+;+;)不起作用,c++,c++14,increment,C++,C++14,Increment,我正在编写一个与C/C++中的引用相关的代码。我制作了一个指针,并将其放入一个递增的函数中。在函数中,我编写了*ptr++,并尝试增加指针指向的整数的值 #包括 使用名称空间std; 无效增量(int*ptr) { int&ref=*ptr; *ptr++;//是否被忽略? ref++; } int main() { INTA=5; 增量(&a); cout++的优先级高于*,因此*ptr++被视为*(ptr++)。这会增加指针,而不是指针指向的数字 要增加数字,请使用(*ptr)+您的代码是:

我正在编写一个与C/C++中的引用相关的代码。我制作了一个指针,并将其放入一个递增的函数中。在函数中,我编写了
*ptr++
,并尝试增加指针指向的整数的值

#包括
使用名称空间std;
无效增量(int*ptr)
{
int&ref=*ptr;
*ptr++;//是否被忽略?
ref++;
}
int main()
{
INTA=5;
增量(&a);

cout
++
的优先级高于
*
,因此
*ptr++
被视为
*(ptr++)
。这会增加指针,而不是指针指向的数字

要增加数字,请使用
(*ptr)+

您的代码是:

*ptr++;
这相当于:

*(ptr++);
这意味着指针先递增,然后取消引用。这是因为递增运算符
++
的优先级高于取消引用运算符
*
。因此您应该使用:

(*ptr)+;

这里,第一个指针被取消引用,然后递增。

你能告诉我那张图片里是什么吗?不幸的是,我是盲人,我的屏幕阅读器在这一行时只会说些胡言乱语。完美的傻瓜:这回答了你的问题吗?