我试图了解指针的优势。我知道定义以及如何创建一个,但我仍然不明白为什么它们很强大。
- 所以有人可以给我一个你只能用指针做的事情的例子。
- 我听说 Python 没有指针,这是否意味着有些操作无法使用 Python 完成——我的意思是编程方面,而不仅仅是访问特定的内存位置和值?例子?
我试图了解指针的优势。我知道定义以及如何创建一个,但我仍然不明白为什么它们很强大。
指针主要是一种实现引用语义的机制。如果你想引用一个存在于其他地方的现有对象,那么你可以通过传递一个指向该对象的指针来实现。
没有指针,您只能传递对象的副本。这将允许您交流值,但您不能修改现有对象。(当然,除非你的语言提供原生引用处理,就像 C++ 那样。)
作为测试,想象一下您将如何实现以下代码:
var a = 10;
var b = 20;
my_magic_swap(a, b); // how to do this?!
assert(a == 20 && b == 10);
(答案当然是my_magic_swap
应该接受指向原始变量的指针(或等价物)。)