C++ 工具类 —— 词条类(Entry)

Entry 以键值对(key-value pair)的形式定义。

template <typename K, typename V>
struct Entry{
    K key; V value;
    Entry(K k = K(), V v = V()) :key(k), value(v){}
    Entry(const Entry<K, V>& e) :key(e.key), value(e.value){}
    bool operator<(const Entry<K, V>& e) { return key < e.key; }
    bool operator>(const Entry<K, V>& e) { return key > e.key;  }
    bool operator==(const Entry<K, V>& e) { return key == e.key;  }
    bool operator!=(const Entry<K, V>& e) { return key != e.key; }
};

这样的重载了基本简单运算符重载的键值对(key-value pair)词条类有什么意义呢,就是有些特定问题下用到的特殊数据结构内部存储的未必是基本数据类型(比如 int、float 等可比较数据类型),而也可能存储的是一些较为复杂的键值对、结构体或者其他自定义的类。当存储在优先队列(大/小顶堆)或者二叉搜索树等数据结构时,需要这些复杂的元素支持比较特定的比较运算符。

原文链接: https://www.cnblogs.com/mtcnn/p/9423699.html

欢迎关注

微信关注下方公众号,第一时间获取干货硬货;公众号内回复【pdf】免费获取数百本计算机经典书籍

    C++ 工具类 —— 词条类(Entry)

原创文章受到原创版权保护。转载请注明出处:https://www.ccppcoding.com/archives/240726

非原创文章文中已经注明原地址,如有侵权,联系删除

关注公众号【高性能架构探索】,第一时间获取最新文章

转载文章受原作者版权保护。转载请注明原作者出处!

(0)
上一篇 2023年2月13日 下午9:00
下一篇 2023年2月13日 下午9:01

相关推荐