我正在实现“ C ++中的数据结构和算法”中的二进制搜索树。但是我不太了解他们的构造函数:
Entry(const K& k = K(), const V& v = V())
: _key(k), _value(v) { }
_key
和_value
函数吗?因为它们默认为构造函数中的函数?
这是类标题:
template <typename K, typename V>
class Entry
{
public:
typedef K Key;
typedef V Value;
public:
Entry(const K& k = K(), const V& v = V()) : _key(k), _value(v) { }
const K& key() const { return key; }
const V& value() const { return value; }
void set_key(const K& k) { _key = k; }
void set_value(const V& v) { _value = v; }
private:
K _key;
V _value;
};
抱歉,如果有重复,我不知道要搜索什么。
编辑:我的问题不是关于双冒号,而是将默认值_key
和_value
设置为:K& k = K()
和V& v = V()
。这些是否暗示类型名K
和V
是函数?