- 博客(4)
- 收藏
- 关注
原创 【C++11】可变参数模板与emplace接口的介绍
C++11支持可变参数模板,也就是说支持可变数量参数的函数模板和类模板,可变数目的参数被称为参数包,存在两种参数包:模板参数包,表示零或多个模板参数;函数参数包:表示零或多个函数参数。习惯上把类名和变量名命名为Args(arguments)可以用sizeof...运算符来计算参数包中的参数个数(常用的可变参数模板:相当于模板的模板1、先根据参数个数推导出相应的模板2、再根据参数类型实例化出对应的具体函数。
2026-03-13 12:16:22
461
原创 【C++11】智能指针
如果连续new申请空间,但中间的new抛异常会导致后续的delete被跳过,引发内存泄漏此时就需要智能指针帮助我们管理此类需要手动处理删除的指针。
2026-02-12 02:11:10
989
1
原创 【C++11】右值引用
左值是一个表示数据的表达式(如变量名或解引用的指针),一般是有持久状态,存储在内存中,我们可以获取它的地址,左值可以出现赋值符号的左边,也可以出现在赋值符号右边。定义时const修饰符后的左值,不能给他赋值,但是可以取它的地址。右值也是一个表示数据的表达式,要么是字面值常量、要么是表达式求值过程中创建的临时对象等,右值可以出现在赋值符号的右边,但是不能出现出现在赋值符号的左边,右值不能取地址。左值、右值引用就是分别给左值、右值取别名,二者在底层实现上均是通过指针实现。
2026-02-05 15:44:29
792
原创 哈希(Hash)
哈希(Hash)又称散列,是组织数据的一种方式,本质为:把关链词key与存储位置建立映射的关系,查找时通过哈希函数计算出key的存储位置快速查找。1.哈希冲突(碰撞):借助哈希函数将N个值映射到大小为M的哈希表中(M≥N),而不同的key可能会映射到同一个位置上,称为哈希冲突,是不可避免的。【 如 哈希函数:h(key) = key % M(除法散列法:具体可看后文)中 203 % 200 = 3 、3 % 200 = 3】。2.负载因子(loaod faotor):映射存储了N个值,哈希表大小为M,则
2026-01-31 23:35:51
1814
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅