我不确定之前是否有人问过这个问题(通过 SOF 搜索并找不到答案)
我写了一个LinkedList类和一个反转它的函数。函数如下,
struct LinkedList::element* LinkedList::recurrsiveReverseList(element* head){
element* tempList;
if(head->next == NULL){
return head;
}else{
tempList = recurrsiveReverseList(head->next);
head->next->next = head;
head->next = NULL;
return tempList;
}
}
在这里,我声明了一个局部指针变量并对它进行了一些更改并将其返回给调用者。在 C++ 中,当我在函数内声明局部变量时,范围仅存在于函数内。现在,当我从函数返回指针时,它是如何工作的?我能够理解逻辑并得到结果(幸运的是),但我无法完全理解这里的工作。
有人可以解决我的疑问吗?