【发布时间】:2021-09-22 12:53:56
【问题描述】:
谁能解释一下这段代码是如何工作的?指针有点令人困惑,所以我需要一点帮助来了解正在发生的事情。我知道它正在计算总和和绝对差,但我不明白为什么我们需要这里的指针。请帮忙。
#include <iostream>
using namespace std;
void update(int *a, int *b) {
int sum = *a + *b;
int abs = *a - *b;
if (abs < 0) abs *= -1;
cout << sum << '\n' << abs;
}
int main() {
int a, b;
int *pa = &a, *pb = &b;
cin >> a >> b;
update(pa, pb);
return 0;
}
【问题讨论】:
-
这里不需要指针。你在哪里找到这个的?听起来你可以使用good C++ book
-
这里完全没有必要,只是一个没有意义的插图。
-
我猜你的导师正在解释为什么在某些情况下通过引用传递参数可能比通过值传递参数更好.但这不是其中一种情况。
-
...我不明白这里为什么需要指针... 我们这里不需要指针。没有什么可得到的。您的见解是正确的。
-
@molbdnilo 老师对指针的迷恋到底是什么?对于 C++,他们确实应该首先通过值和引用传递来教学。哦,好吧...