logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

C++ STL 中的 stack、queue 与 priority_queue:从使用到容器适配器原理

若优先队列存储自定义类型(如Date),需重载operator<(大堆)或operator>public:// 重载<:用于大堆(按日期升序,旧日期优先级低)// 重载>:用于小堆(按日期降序,新日期优先级低)// 友元函数:支持cout输出return os;private:// 测试:大堆与小堆// 大堆(默认,按日期降序,最新日期优先级最高)cout << "大堆顶(最新日期):" << p

#c++
C++ STL 中的 map 与 set:从使用到实战,掌握高效关联式容器

set:专注于 Key 的去重与有序,适用于 “仅需判断存在性” 的场景,如去重、交集计算;map:专注于 Key-Value 的有序映射,适用于 “关键字关联” 场景,如字典、频率统计;:允许 Key 重复,适用于 “Key 不唯一” 的场景,但需注意operator[]的支持差异。

#c++
从哈希表到容器封装:手把手实现 myunordered_map 和 myunordered_set

/ 1. 哈希函数仿函数(支持内置类型和 string)// 内置类型直接转换为 size_t// string 特化:BKDR 哈希算法(减少冲突)// 131 是质数,增强分布均匀性// 2. 哈希表节点(存储泛化数据 T)T _data;// 存储的数据(K 或 pair<const K, V>)// 链表指针// 3. 哈希表迭代器(前置声明,供 HashTable 友元使用)// 4.

#散列表#哈希算法#c++
C++ 容器进阶:unordered_map 与 unordered_set 全面解析

unordered_set/unordered_map 是 C++ 中高性能的无序容器,基于哈希表实现,平均增删查改效率达 O(1),是追求性能场景的首选。其与 set/map 的核心差异在于底层实现(哈希表 vs 红黑树),进而导致 Key 要求、迭代器特性与遍历顺序的不同。

#c++
从红黑树到容器:手把手教你封装 MyMap 与 MySet

通过MyMap与MySet底层复用:用一个泛型的红黑树支撑多种上层容器,减少代码冗余,降低维护成本。接口隔离:上层容器(mapset)通过仿函数(KeyOfValue)和类型定义,隐藏底层实现细节,只暴露符合自身语义的接口。语义约束:通过类型修饰(如const K)确保容器的语义正确性(set的 Key 不可改,map的 Key 不可改)。

#c++
C++中的类和对象(上)

类实例化出的每个对象,都有独⽴的数据空间,所以对象中肯定包含成员变量,⾸先函数被编译后是⼀段指令,对象中没办法存储,这些指令存储在⼀个单独的区域(代码段),那么对象中⾮要存储的话,只能是成员函数的指针。C++中有⼀些相对⽅便的语法,⽐如Init给的缺省参数会⽅便很多,成员函数每次不需要传对象地址,因为this指针隐含的传递了,⽅便了很多,使⽤类型不再需要typedef⽤类名就很⽅便。定义在哪⾥,就

#c++#算法#开发语言
C++中的缺省参数

缺省参数是声明或定义函数时为函数的参数指定⼀个缺省值。在调⽤该函数时,如果没有指定实参则采⽤该形参的缺省值,否则使⽤指定的实参,缺省参数分为全缺省和半缺省参数。函数声明和定义分离时,缺省参数不能在函数声明和定义中同时出现,规定必须函数声明给缺省值。函数声明和定义分离时,缺省参数不能在函数声明和定义中同时出现,规定必须函数声明给缺省。全缺省就是全部形参给缺省值,半缺省就是部分形参给缺省值。// 没有

#c++#开发语言
C++11 核心特性全解析:从语法糖到性能革命

性能层面:移动语义消除拷贝冗余,emplace接口减少临时对象;开发效率层面:统一初始化、Lambda、auto简化代码,可变参数模板扩展泛型能力;工程层面:智能指针、包装器提升代码安全性与可维护性。

#c++
C++ 容器进阶:unordered_map 与 unordered_set 全面解析

unordered_set/unordered_map 是 C++ 中高性能的无序容器,基于哈希表实现,平均增删查改效率达 O(1),是追求性能场景的首选。其与 set/map 的核心差异在于底层实现(哈希表 vs 红黑树),进而导致 Key 要求、迭代器特性与遍历顺序的不同。

#c++
到底了