摘要:
c++ 高性能日志库(muduo_AsyncLogging) 实现一个高效的网络日志库要解决那些问题? 首先明确一下问题的模型,这是一个典型的多生产者 单消费者问题,对于前端的日志库使用者来说,应该做到非阻塞添加,作为后端的文件写入,应该注意磁盘IO的瓶颈。 功能需求 1. 日志的级别分级 2. 发 阅读全文
摘要:
``` cpp static const int _stl_num_primes = 28; template> class hashtable; ministl::vector prime_list = { 53, 97, 193, 389, 769, 1543, 3079, 6151, 12289, 24593, 49157, 98317, 196613, 393241, ... 阅读全文
摘要:
tuple Class template std::tuple is a fixed size collection of heterogeneous values. It is a generalization of std::pair. 可以用来在bind中存储函数指针和参数 实现思路 不定参数 阅读全文
摘要:
any class any; (since C++17) The class any describes a type safe container for single values of any type. (1) An object of class any stores an instanc 阅读全文
摘要:
``` cpp class string { public: typedef size_t size_type; typedef char iterator; typedef char value_type; private: char start, end_of_storage, End; std 阅读全文
摘要:
c++ 实现 key value缓存数据结构 概述 最近在阅读Memcached的源代码,今天借鉴部分设计思想简单的实现了一个keyvalue缓存。 哈希表部分使用了unordered_map,用于实现LRU算法的双向链表嵌套在缓存类中实现。 LRU 算法 LRU算法又称为last least us 阅读全文
摘要:
从零开始写STL 智能指针 智能指针的分类及其特点: scoped_ptr:初始化获得资源控制权,在作用域结束释放资源 shared_ptr: 引用计数来控制共享资源,最后一个资源的引用被释放的时候会析构 unique_ptr: 只能有一个持有资源引用的对象 weak_ptr:eak_ptr也维护了 阅读全文
摘要:
function C++11 将任意类型的可调用(Callable)对象与函数调用的特征封装到一起。 这里的类是对函数策略的封装,将函数的性质抽象成组件,便于和algorithm库配合使用 基本运算符 和 基本比较符号组件 cpp template class unary_negate : publ 阅读全文