将node*
和node *&
传递给函数有什么区别?他们俩都没有通过内存地址吗?当你使用一个而不是另一个时,你实际上通过了什么?
答案 0 :(得分:2)
node *&
表示法是对指向节点对象的指针的引用,允许您更改指针指向的内存地址(通过ref)以及节点值(通过指针)。使用node *
表示法只允许您实现后者。
答案 1 :(得分:2)
node *&
是对指针的引用,而node*
只是指针。
通过这种方式,node *&
增加了一个额外的间接级别,它基本上是某个node *
(指向node
的指针)的第二个名称。它最常用于参数传递。
请详细了解here。