首页
学习
活动
专区
工具
TVP
发布

C++ STL和泛型编程

专栏作者
13
文章
3449
阅读量
15
订阅数
OOP(object-oriented programming) vs GP(generic programming)
GP:有模板,企图把data和method分开,container是一种数据,algorithm是一种方法。
ocean@32
2022-11-13
3140
unordered_map/unordered_set/unorder_multiset/unorder_multimap-C++容器
这些容器背后数学原理是hashtable,因为它们是关联容器,它们自己的find函数的效率很高。可以理解每个容器下面挂了很多个篮子指针,这些指针存放在vector的容器内,当篮子内元素的个数大于篮子数时,篮子的个数将成倍的扩充,可以通过成员函数bucket_count()获取篮子的个数。一个元素应该放到哪个篮子里面通过hash function计算出来的hash code除以篮子数决定。
ocean@32
2022-11-11
1690
set/map/multiset/multimap-C++容器
这些容器的数学原理是红黑树,他们都有自己的find函数,因为这些容器都为关联容器,容器本身的find函数效率很高。
ocean@32
2022-11-11
1540
deque/queue/stack-C++容器
deque可以向两边新增元算,当deque容器内存不足时,每次扩充一个buffer,不同的buffer可以是不连续的,通过map技术把不连续buffer连接起来。对于外部访问者deque内的buffer是连续的。成员函数:
ocean@32
2022-11-10
2510
list/forward_list-C++容器
list有自己的sort()函数,无法使用公共的sort()函数,list成员函数有:
ocean@32
2022-11-10
2440
vector-c++容器
当vector内存不够用时,vector内存大小会成倍增长,且内存块的位置会发生变化,这个时候可能会出现std::bad_alloc的异常错误,代码中使用了try...catch的语句。
ocean@32
2022-11-07
2200
variadic template总述
参数的个数可以变化:利用参数的个数逐一递减的特性,实现递归函数的调用,利用function template
ocean@32
2022-11-05
3450
C++容器的分类
set/multiset: value是key,mutil表示value的值可以重复
ocean@32
2022-11-04
3010
STL的六大组件
一.分配器allocator二.容器Containers三.仿函数Functors四.算法Algorithms五.迭代器Iterator六.适配器Adapters一段程序同时包括六个组件#include <vector>#include<algorithm>#include<functional>#include<iostream>int main() { vector<int, std::alloctor<int>> c {40, 11, 45, 23}; cont << count_if(c
ocean@32
2022-11-03
4680
array-C++容器
array array把数组封装成类,让数组有类的接口,没有构造和析构函数 template<typename T, std::size_t nm> struct array { typen
ocean@32
2022-10-31
1930
Example 5, 6, 7 of variadic templates
Example 5: 另一种print的方法,把一系列的数放到tuple这个类包里面依次打印;用到方法function template + class template + variadic templates
ocean@32
2022-10-28
2790
Example 3, 4 of variadic templates
Example 3: 处理一系列types相同的参数,采用initializer list,不必采用variadic templates
ocean@32
2022-10-28
1920
Example 1 and 2 of variadic templates
Example 1:使用递归调用打印不同类型的一系列参数,递归函数使用function template接收可变的参数。
ocean@32
2022-10-28
3190
没有更多了
社区活动
腾讯技术创作狂欢月
“码”上创作 21 天,分 10000 元奖品池!
Python精品学习库
代码在线跑,知识轻松学
博客搬家 | 分享价值百万资源包
自行/邀约他人一键搬运博客,速成社区影响力并领取好礼
技术创作特训营·精选知识专栏
往期视频·千货材料·成员作品 最新动态
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档