摘要: 函数对象 =》C语言中的函数指针 函数对象 尽管函数指针被广泛用于实现函数回调,但C++还提供了一个重要的实现回调函数的方法,那就是函数对象。函数对象(也称“函数符”)是重载了“()”操作符的普通类对象。因此从语法上讲,函数对象与普通的函数行为类似。 用函数对象代替函数指针有几个优点: 首先,因为对 阅读全文
posted @ 2022-12-15 22:20 Hello_Bugs 阅读(70) 评论(0) 推荐(0) 编辑
摘要: 标准容器->容器适配器 什么叫适配器? 1:适配器底层没有自己的数据结构,它是另外一个容器的封装,它的方法, 全部由底层依赖的容器进行实现的.像标准库中的stack 如下图 2:没有实现自己的迭代器 容器适配器 stack,queue,priotity_queue 没有迭代器 stacks1; 栈, 阅读全文
posted @ 2022-12-15 19:07 Hello_Bugs 阅读(118) 评论(0) 推荐(0) 编辑
摘要: 泛型算法 头文件 包含了C++ STL里面的泛型算法 泛型算法=》template + 迭代器 + 函数对象 sort, find , find_if , binary_search , for_each 泛型算法特点 1:泛型算法的参数接收的都是迭代器(迭代器保证了接口统一) 2:泛型算法的参数还 阅读全文
posted @ 2022-12-15 17:20 Hello_Bugs 阅读(22) 评论(0) 推荐(0) 编辑
摘要: 无序关联容器 #include <unordered_set> #include <unordered_map> 有序关联容器 => 底层是红黑树结构 #include<set> #include<map> set<int> set1 ;//不允许重复 for(int i=0;i<100;i++){ 阅读全文
posted @ 2022-12-15 16:31 Hello_Bugs 阅读(29) 评论(0) 推荐(0) 编辑
摘要: 容器迭代器 Vector vec; for(int i=0;i<100;i++){ vec.push_back(i); } const_iterator 常量迭代器 (基类) iterator 普通迭代器 (子类) iterator 是继承自const_iterator的 class const_i 阅读全文
posted @ 2022-12-15 09:57 Hello_Bugs 阅读(21) 评论(0) 推荐(0) 编辑
摘要: vector和deque之间的区别? vector:底层动态数组,内存连续,二倍方式扩容 vector vec;默认是没有开辟空间的, 0->1->2->4->8->16 可以用reserve(20) 只开辟空间,没有放置元素 deque:动态开辟的二维数组空间,第二维是固定长度的空间,扩容的时候, 阅读全文
posted @ 2022-12-15 09:43 Hello_Bugs 阅读(118) 评论(0) 推荐(0) 编辑