Today I wrote some code dealing with binary tree. Later I noticed a bug in the code:
void find(TreeNode* root, int target) {
stack<int> myStack;
while(!myStack.empty()){
auto& top = myStack.top(); // here I used auto& by mistake
...
}
}
However, I am confused with auto& top = myStack.top();
. After the type deduction, what is the type for top
? Is it TreeNode &
or TreeNode* &
?
How about if I used auto* top = myStack.top()
?
Aucun commentaire:
Enregistrer un commentaire