我正在努力了解指针的优势。我知道定义以及如何创建定义,但我仍然不明白为什么它们很强大。
答案 0 :(得分: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
应该接受原始变量的指针(或等效物)。)