0

我试图了解指针的优势。我知道定义以及如何创建一个,但我仍然不明白为什么它们很强大。

  • 所以有人可以给我一个你只能用指针做的事情的例子。
  • 我听说 Python 没有指针,这是否意味着有些操作无法使用 Python 完成——我的意思是编程方面,而不仅仅是访问特定的内存位置和值?例子?
4

1 回答 1

0

指针主要是一种实现引用语义的机制。如果你想引用一个存在于其他地方的现有对象,那么你可以通过传递一个指向该对象的指针来实现。

没有指针,您只能传递对象的副本。这将允许您交流值,但您不能修改现有对象。(当然,除非你的语言提供原生引用处理,就像 C++ 那样。)

作为测试,想象一下您将如何实现以下代码:

var a = 10;
var b = 20;

my_magic_swap(a, b);  // how to do this?!

assert(a == 20 && b == 10);

(答案当然是my_magic_swap应该接受指向原始变量的指针(或等价物)。)

于 2012-11-10T18:26:35.823 回答