1.找不到 iostream.h 把#include <iostream.h> 换成#include <iostream> 2.errorC2146:语法错误:缺少“;”(在标识符“PhysicalMediumType”的前面) 把netioapi.h里的#include <ntddndis.h>改 ...
分类:
其他好文 时间:
2020-05-08 20:10:26
阅读次数:
96
写在前面 不得不说,有些小伙伴的学习热情真高,学完了Lambda表达式的语法,想来几个典型案例再强化下。于是问冰河能否给几个Lambda表达式的典型使用示例。于是乎,便有了这篇文章。 案例一 需求 调用Collections.sort()方法,通过定制排序比较两个Employee(先比较年龄,年龄相 ...
分类:
编程语言 时间:
2020-05-07 00:36:42
阅读次数:
80
C++ Stack(堆栈) 是一个容器类的改编,为程序员提供了堆栈的全部功能,——也就是说实现了一个先进后出(FILO)的数据结构。 c++ stl栈stack的头文件为: #include <stack> c++ stl栈stack的成员函数介绍 empty() 堆栈为空则返回真 pop() 移除 ...
分类:
其他好文 时间:
2020-05-05 18:05:38
阅读次数:
69
Pybind11 是一个轻量级只包含头文件的库,用于 Python 和 C++ 之间接口转换,可以为现有的 C++ 代码创建 Python 接口绑定。Pybind11 通过 C++ 编译时的自省来推断类型信息,来最大程度地减少传统拓展 Python 模块时繁杂的样板代码, 已经实现了 STL 数据结... ...
分类:
编程语言 时间:
2020-05-04 17:01:44
阅读次数:
74
1. List 容器的基本概念 1. list 是一个双向链表容器,可高效的进行插入删除元素,他的原理在于每个元素都有两个指针来记录前后两个元素的地址,像火车车厢一样,list 中各个元素在物理存储单元上非连续,是通过指针相连在一起的。 2. 相较于vector的连续线性空间,list会显得复杂许多 ...
分类:
其他好文 时间:
2020-05-04 00:52:48
阅读次数:
52
deque.clear(); //移除容器的所有数据 deque.erase(beg,end); //删除[beg,end)区间的数据,返回下一个数据的位置。 deque.erase(pos); //删除pos位置的数据,返回下一个数据的位置。 ...
分类:
其他好文 时间:
2020-05-03 22:00:32
阅读次数:
103
deque.insert(pos,elem); //在pos位置插入一个elem元素的拷贝,返回新数据的位置。 1 #include <iostream> 2 #include <deque> 3 4 using namespace std; 5 6 int main() 7 { 8 deque<i ...
分类:
其他好文 时间:
2020-05-03 21:51:02
阅读次数:
112
前言: 本文总结概括SGI STL源码中二级配置器的工作方式,主要是学习内存池+16条链表的内存分配方式。 无论一级配置器还是二级配置器,统一的接口如下: //其中Alloc可能是一级配置器,也有可能是二级配置器; //这个类的作用其实就是单纯地转给一级或者二级配置器调用; template<cla ...
分类:
其他好文 时间:
2020-05-03 20:41:16
阅读次数:
56
正确释放Vector等STL的内存执行 clear() 之后内存并没有释放 《Effective STL》给出的解决方案是: vector<type> v;//.... 这里添加许多元素给v//.... 这里删除v中的许多元素 vector<type>().swap(v);//此时v的容量已经尽可能 ...
分类:
其他好文 时间:
2020-05-03 20:36:13
阅读次数:
51
数组在分配内存的时候是一块连续的空间,并且每个元素的内存是一样的,因此可以用下标快速访问;但正因为如此,在其中插入或者删除的操作就比较麻烦,要移动别的元素的位置,因此需要快速访问存取并且不频繁增删就用数组; 链表list的每个元素使用指针相互链接,分配的空间比较自由,每个元素可以不同类型不同大小,但 ...
分类:
编程语言 时间:
2020-05-03 14:38:41
阅读次数:
64