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
时间: 2024-10-03 21:28:49