暂时还没想好写什么,就直接把总结的一些东西从笔记里面复制过来吧,有错误的地方还望指正。
先说下我对STL的理解,STL简单点说就是对复杂数据结构的包装,省去了一些造轮子的功夫,有句话说的不错,不仅有造轮子的能力,也要有不造轮子的觉悟,所以我觉得对待STL,可以抱着边学习边使用的方法,同时也可以结合网上的STL源码分析,理解其中设计的一些思想,好了,下面就贴出我使用STL的时候总结的一些零零碎碎的东西。
STL模板的用法:
pair
pair<template,template> p(值,值);
例: pair<int,int> p(5,6);
头文件 utility
作用:用来存储两个值,当函数需要返回两个值时,就可以用它来就进行存储
方法:p.first返回第一个值
p.second返回第二个值
memset
memset(void*s,int ch,size_t n);
例: int f[10][10]; memset(f,0,sizeof(f));
头文件<string.h> <memory.h>
作用:为数组进行内存空间分配,同时将数组全部初始化为0或-1,bool数组也可以使用memset
注意:!memset无法将数组初始化为1,如果将中间那个数值写为1,那么将初始化为一个任意大的数.
fill
fill(first,last,val); first为容器的首迭代器,last为容器的末迭代器,val为将要替换的值,值的类型为容器元素的类型
头文件<iostream>
例: int f[5] ={1,2,3,4,5};
fill(f,f+5,1);
queue
queue<template> q;
例:queue<int> q;