💿一个串联前文的例子
通过一个例子,复习巩固已经学习的STL的用法
在“学生”容器中作统计
在这个例子里面,我们将利用STL的容器,创建一个“学生”容器,并在其中利用STL的算法,通过STL的迭代器作用于容器,从而作一些统计工作。
学生的类型
一下是一个简单的学生类型,这将是我们要放在容器中的数据。下面的类的定义是不完备的,只列出了后续需要用到的部分,省略的部分可自行补充。
需求及实现
建立“学生”容器
容器元素按“学号由小到大”排序
显示每个学生的信息
统计“计算机”专业的人数
统计物理专业的人数呢?
再统计“XXX”专业的人数呢?
定义函数对象类如下:
下面就可以这样使用了:
类似的,统计“XXX”专业男生/女生的人数:
如果还有更多的需求,再定义更多的函数或者函数对象对象会比较麻烦,我们可以采用表达式来解决。
匿名函数
编译器隐式地为之定义类(重载了函数调用操作符)和创建函数对象。
关于C++11中引入的匿名函数的用法,在这个教程里面不会详细解释,如果不清楚的同学可以寻找相关教程了解一下其语法和原理。
参考教程:https://www.runoob.com/cplusplus/cpp-functions.html
后续教程将会默认读者知晓匿名函数的用法。
比如说:
至此,读者应当对于C++STL的整体用法有了基本的掌握。在告知接口或者API的情况下,应当能够正确得使用STL了。
最后更新于
这有帮助吗?