STL使用记录】的更多相关文章

Effective STL 中文版学习记录 条款4 判断容器是否为空 使用empty而不是size().size()操作在实现上不是一个时间常数操作条款5 尽量使用区间成员函数代替它们的单元素兄弟.STL实现中,区间范围显示比单个循环操作更优化 条款7:当使用new得指针的容器时,记得在销毁容器前delete那些指针vc2008下 运行代码 可以看到 该程序内存不断增加// 1111111.cpp : 定义控制台应用程序的入口点.// #include "stdafx.h" #incl…
1,map 对map实在不熟...赶紧记录一下用法吧. 后来再发现新的用法再补充吧 定义: map<int, int> m; 其中的int可以为自定义的任何类型. m[key值类型的变量] = value值: 但是注意如果key值是自定义的结构体的话,一定要重载一下小于号的运算符.这个是map的要求,key对应的类型一定要可以比较的. 2,优先队列 定义:qriority_queue<int, vector<int>, cmp> q; 一直把这货当heap在用. 其中黑…
非常丑陋的尝试实现stl.慢慢修改吧. 1)简单实现 vector和list. 2)思索如何开始编写算法. 1,所有容器继承一个抽象容器.那么算法就可以使用抽象基类的next方法来遍历元素. 容器间耦合太高,放弃. 2,所有容器的元素T继承一个基类,算法使用基类的next方法来遍历元素.应该是可以的.做到一半,实现多态时,必须太多指针样子,好像跟stl的使用相差太远.看书发现stl是用模板模拟多态.或者说是模板的正宗,优雅的多态形式. 3,使用模板的更优雅的多态思想来实现容器的迭代器. 3)后面…
1,STL提供三种类型的组件:容器.迭代器.算法. 容器: 顺序容器(vector.list.deque.string等)是一系列元素的有序集合: 关联容器(set.multiset.map.multimap)包含查找元素的键值. 迭代器:作用是遍历容器. for (vector<int>::iterator it = v.begin(); it != v.end(); it++) { cout << *it << " "; } //迭代器是依附于容…
#include <iostream> #include <utility> #include <tuple> #include <complex> #include <string> using namespace std; // 代码 改编自 C++标准库——自学教程与参考手册 英文第二版 //==================================== // tuple io template <int IDX,int M…
STL 简单记录.讲解一些初级阶段常用的用法. STL是C++的一个标准模板库,其中包含了许多在计算机领域常用的基本数据结构以及基本算法.STL主要依赖于模板,使得STL具有广泛的通用性.这篇文章旨在介绍一些常用的STL工具及其用法. Algorithm 该头文件涉及许多常用的功能,例如比较.交换.查找.遍历.绝对值.复制.修改.反转.排序等. 具体用法 /** 稍微列举部分可能用到的 **/ #include <iostream> #include <algorithm> #in…
如何使用动态链接库 Linux下打开使用动态链接库需要三步(实际上和windows下基本一样):1.加载动态链接库,通过调用库函数dlopen()获得链接库的句柄,对应于windows下的 AfxLoadLibrary函数 //参数一filename是.so文件路径 //参数二flag指定解析符号的时间点等 //返回值是链接库的句柄 void *dlopen(const char *filename, int flag); 2.从句柄中获取函数符号加载的内存地址,通过调用dlsym函数返回函数地…
如何使用动态链接库 Linux下打开使用动态链接库需要三步(实际上和windows下基本一样):1.加载动态链接库,通过调用库函数dlopen()获得链接库的句柄,对应于windows下的 AfxLoadLibrary函数 //参数一filename是.so文件路径 //参数二flag指定解析符号的时间点等 //返回值是链接库的句柄 void *dlopen(const char *filename, int flag); 2.从句柄中获取函数符号加载的内存地址,通过调用dlsym函数返回函数地…
题目描述 圣玛格丽特学园的一角有一个巨大.如迷宫般的花坛.大约有一个人这么高的大型花坛,做成迷宫的形状,深受中世纪贵族的喜爱.维多利加的小屋就坐落在这迷宫花坛的深处.某一天早晨,久城同学要穿过这巨大的迷宫花坛,去探望感冒的维多利加. 整个迷宫可以用N个路口与M条连接两个不同路口的无向通道来描述.路口被标号为1到N,每条通道有各自的长度.整个迷宫一定是连通的,迷宫中可能存在若干个环路,但是,出于美观考虑,每个路口最多只会属于一个简单环路.例如,图1所示的迷宫是非常美观的,但图2则不符合我们的描述,…
unordered_map,unordered_set等相关内容总结: unordered_map和unordered_set是在开发过程中常见的stl数据结构.其本质是hashtable.在SGI_STL中,hashtable解决冲突的办法是拉链法.下面是一些对STL中堆hashtable中有关代码阅读的一些记录. 与之相关联的几个文件  gcc/libstdc++-v3/include/bits/hashtable.h gcc/libstdc++-v3/include/bits/hashta…