
简介
该用户还未填写简介
擅长的技术栈
可提供的服务
暂无可提供的服务
Linux 是自由软件和开源软件发展中最成功的典范。在GNU GPL(通用公共许可证)使用自由:无论商业还是个人,都可以无限制地运行程序研究自由:你可以阅读每一行底层源代码,理解系统是如何工作的修改自由:你可以自由定制所需功能,这在闭源的 Windows,macOS 中是绝对禁止的分发自由:你可以自由地传播原始版本或你修改后的衍生版本理查德·斯托曼撰写的GPL 协议是 Linux 能够长盛不衰的根

int _data;// 形成循环引用// 函数结束前,n1 和 n2 的引用计数均为 2当函数结束,局部变量 n1 和 n2 析构后,堆上的两个节点的引用计数减到了 1。右边节点(n2)何时释放?它由左边节点中的成员 _next 管着,只有当 _next 析构时,右边节点才会释放_next 何时析构?它是左边节点的成员,只有当左边节点释放时,它的成员 _next 才会析构左边节点(n1)何时释放

本次封装的核心在于通过 KeyOfValue 仿函数 实现了底层 HashTable 与上层 set/map 的解耦。这种一套引擎,两套外壳的设计,不仅利用模板策略完成了 O(1) 平均时间复杂度的极致性能,更通过 pair<const K, V> 从编译器层面锁死了 Key 的修改权限特性map / set底层结构红黑树(平衡搜索树)哈希表(开链法)查找效率O(log N)(稳定)O(1)(平均

非类型模板参数指的是不是一个类型,而是编译期就可以确定的常量值private:T _data[N];T是类型参数N是非类型模板参数使用时不同的N,会生成完全不同的模板实例// test.hint main()func();每个 .cpp 单独编译, 生成目标文件 .o链接阶段把所有目标文件合并链接器根据符号表找到 func() 的实现普通函数在编译阶段就已经确定了具体的函数实体模板不是函数,不会提







