I am reading a book about Binary Search Tree and something weird came up.
class BST
{
public:
void insert(const Comparable & item)
private:
Binary
It's reference to pointer, you can change pointer in this function and it will changed outside. Simple example http://liveworkspace.org/code/1EfD0Q$8
In your expression BinaryNode * & t)
BinaryNode* & t
------------- -----
BinaryNode pointer t is reference variable
so t
is reference to pointer of BinaryNode class.
Pointer of the address of t?
You are confused ampersand &
operator in c++. that give address of an variable. but syntax is different.
ampersand &
in front of some of variable like below:
BinaryNode b;
BinaryNode* ptr = &b;
But following way is for reference variable (its simple not pointer):
BinaryNode b;
BinaryNode & t = b;
and your is like below:
BinaryNode b;
BinaryNode* ptr = &b;
BinaryNode* &t = ptr;