码迷,mamicode.com
首页 > 其他好文 > 详细

STL入门

时间:2016-08-06 23:33:46      阅读:235      评论:0      收藏:0      [点我收藏+]

标签:

 

STL入门

 

STL的组成

六大组件

容器container

算法algorithm

迭代器iterator

仿函数function object

适配器adaptors

空间配制器allocator

 

产生一个vector容器,并打印

 

 1 #include <iostream>
 2 #include <vector>//容器
 3 #include <algorithm>//算法
 4 
 5 template<class T>//实现一个类模板,专门实现打印的功能
 6 class myvectorprint
 7 {
 8 public:
 9     void operator()(const T &t)//重载()
10     {
11         std::cout << t << std::endl;
12     }
13 };
14 
15 void main()
16 {
17     std::vector<int> myvector;
18 
19     myvector.push_back(11);
20     myvector.push_back(21);
21     myvector.push_back(31);
22     myvector.push_back(81);
23     myvector.push_back(51);
24 
25     myvectorprint<int>print;//对于打印进行实例化
26 
27     for_each(myvector.begin(), myvector.end(), print);
28 }

 

产生一个array容器,并打印

 

 1 #include <iostream>
 2 #include <array>//容器
 3 #include <algorithm>//算法
 4 
 5 template<class T>//实现一个类模板,专门实现打印的功能
 6 class myvectorprint
 7 {
 8 public:
 9     void operator()(const T &t)//重载()
10     {
11         std::cout << t << std::endl;
12     }
13 };
14 
15 void main()
16 {    std::array<int, 10>myarray = { 10,9,8,7,6,5,4,3,2,1 };
17 
18     myvectorprint<int>print;//对于打印进行实例化
19 
20     //begin,end是迭代器
21     for_each(myarray.begin(), myarray.end(), print);//算法可以适用于任何容器,for_each是一个算法
22 }

 

容器container

容易的分类

1 序列式容器sequence containers

每个元素都有固定位置-取决于插入时机的地点,和元素值无关。

比如vector, deque, list

2 关联式容器associated containers

元素位置取决于特定的排序准则,和插入的顺序无关。

比如set, multiset, map, multimap

 

STL入门

标签:

原文地址:http://www.cnblogs.com/denggelin/p/5745022.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!