Binary Search Tree に関する本を読んでいるときに、何か変なものが出てきました。関数パラメーターで次の宣言を見つけました。
BinaryNode * & t
どういう意味ですか?t
?のアドレスのポインタ
文脈上、これは私が見たコードです。プライベートinsert
関数はパブリックinsert
関数のヘルパー関数であり、プライベートinsert
関数は再帰を使用して挿入する適切な場所を探します。
class BST
{
public:
void insert(const Comparable & item)
private:
BinaryNode *root;
struct BinaryNode
{
Comparable element;
BinaryNode *left;
BinaryNode *right;
BinaryNode(const Comparable & theElement, BinaryNode *lt, BinaryNode *rt) :
element(theElement), left(lt), right(rt) {}
}
void insert(const Comparable & item, BinaryNode * & t) const;
};