【Essential c++】——(三)泛型编程风格

1.STL(Standard Template Library)主要由2种组件构成:容器——vector,list,set,map等;泛型算法——find(),sort(),replace(),merge()等。

2.当数组被传给函数,或是由函数返回,仅有第一个元素的地址会被传递:int min(int array[24])和int min(int *array)是一样的。

3.泛型指针Iterator:vector<string>::iterator iter=svec.begin()。

4.使用顺序型容器:(1)将元素插入vector的任意位置,或者删除任意位置上的元素,该位置不是末端,效率非常低。但是索引则很快。vector适合当数组用。

(2)list的插入和删除都非常容易,但是索引则非常慢。

(3)deque对于最前端元素的插入和删除,效率更高。

5.定义顺序型容器的5种方式

#include<vector>

#include<list>

#include<deque>

(1)产生空的容器:list<string> ilist;

(2)产生特定大小的容器:list<string> ilist(32);

(3)产生特定大小的的容器,并为每个元素指定初值:vector<int> ivec(10,-1);

(4)通过一对iterator产生容器:int ia[8]={1,1,2,3,5,8,13,21}; vector<int> fib(ia,ia+8);

(5)容器的复制:list<string> slist;  

                        //填充slist....

                        list<string> slist2(slist);

6.容器的操作函数

push_back();pop_back();front();back();

push_front();pop_front();   //只针对list,deque

iterator insert(iterator position,eleType value);  //指定的位置之前插入某值,返回该元素的位置

转载于:https://www.cnblogs.com/wy1290939507/p/4646669.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值