本文共 833 字,大约阅读时间需要 2 分钟。
STL提供了常用的数据结构和算法。
数据结构往往是对数据的存储
内联和不内联的区别是,不内敛,程序执行到这个函数好像有个中断跳到那个函数执行完再返回到当前函数,内联就是直接把那个函数拷贝到当前函数里面,也就是不用跳了,所谓的提高程序的运行效率就是指这个。
模板的本质是对算法的封装。
STL并非是一个纯的面向对象的库,在算法上表现为面向过程,用函数的形式来进行实现。
STL高在它适合多种类型,并不是有多么艰难的算法。
算法要处理数据,而数据是通过迭代器进行读取。
STL中提供了大体70个算法函数
我现在弄清了这三个之间的关系 容器 迭代器 算法。容器是存储数据的,算法是操作数据的,算法通过迭代器从容器中读取/输出数据。
算法和容器的桥梁是迭代器
这些迭代器之间具备着继承的关系。
一般情况下发生器函数指的就是随机数函数。
仿函数是STL里的概念,如果我们抛去C++来说,它就是一个函数,返回bool值的函数。
not1是对只有一个参数的函数进行否定 not2是对只有两个参数的函数进行否定,都是返回bool型的函数。
否定函数一定程度上是对我们函数更高级的封装,它与函数适配器的概念非常相似。
之前学的取反如!是对变量取反,这相当于对函数返回值取反。
发生器函数有自己的内存,避免了全局变量的问题。它能够从先前的调用中记住一个值,典型的就是随机数发生器函数。
我们写程序第一是要实现功能,第二再去追求安全,第三再来追求效率。
写程序的时候鼓励使用STL的函数
17节他说的几种函数是:
回调函数
发生器函数
否定函数
容器的多样性的本质是源于数据的多样性。
视频看完了,前面讲容器,算法,迭代器,适配器还听得清晰,后面一些节(大概12讲开始)讲到一些函数什么的就开始有点乱了,是的,后面没怎么听懂。
而且估计时间有限,很多东西没有细讲,讲得很匆忙。
当然他这帮我很好地理解了容器,容器就是装数据的嘛,就是数据结构,所以你再看到容器这个词就不怕了,不用死记意思。
转载地址:http://odlni.baihongyu.com/