【发布时间】:2017-01-05 18:16:42
【问题描述】:
为什么我可以做 *x = *x+1; 之类的事情,却做 *x = *x++; 之类的事情好像没什么影响?
代码:
// Example program
#include <iostream>
#include <string>
using namespace std;
void doSomething(int *x, int *y)
{
*x = *x++;
*y = *y + 5;
}
int main()
{
int x = 4;
int y = 3;
doSomething(&x, &y);
cout << "x is now: " << x << endl; //outputs 4
cout << "y is now: " << y << endl; //outputs 8
return 0;
}
【问题讨论】:
-
你不是在“增加一个指针”,你是在“增加一个指针指向的东西”。
-
试试
++*x怎么样? -
我不知道为什么这会被否决。我在@ 31:25 旁边关注这个视频是对上面代码的引用:youtube.com/watch?v=Rxvv9krECNw
-
完全偏离主题的语法纠正:效果,不影响。
标签: c++ pointers post-increment pre-increment