摘要: 一、谓词概念 谓词是指普通函数或重载的operator()返回值是bool类型的函数对象(仿函数)。如果operator接收一个参数,那么叫做一元谓词,如果接收两个参数,那么叫做二元谓词,谓词可作为一个判断式。 二、内建函数对象 STL内建了一些函数对象,分为:算数类函数对象,关系运算类函数对象,逻 阅读全文
posted @ 2018-12-13 22:27 悦悦的小屋 阅读(380) 评论(0) 推荐(0) 编辑
摘要: 1、rand()不需要参数,它会返回一个从0到最大随机数的任意整数,最大随机数的大小通常是固定的一个大整数。 2、如果你要产生0~99这100个整数中的一个随机整数,可以表达为:int num = rand() % 100; 这样,num的值就是一个0~99中的一个随机数了。 3、如果要产生1~10 阅读全文
posted @ 2018-12-13 21:57 悦悦的小屋 阅读(64733) 评论(0) 推荐(12) 编辑
摘要: 一、函数对象的概念 重载函数调用操作符的类,其对象常称为函数对象(function object),即它们是行为类似函数的对象,也叫仿函数(functor),其实就是重载“()”操作符,使得类对象可以像函数那样调用。 注意: 1、函数对象(仿函数)是一个类,不是一个函数。 2、函数对象(仿函数)重载 阅读全文
posted @ 2018-12-13 18:14 悦悦的小屋 阅读(284) 评论(0) 推荐(0) 编辑
摘要: 一、STL容器共性机制 STL容器所提供的都是值(value)寓意,而非引用(reference)寓意,也就是说当我们给容器中插入元素的时候,容器内部实施了拷贝动作,将我们要插入的元素再另行拷贝一份放入到容器中,而不是将原数据元素直接放进容器中,也就是说我们提供的元素必须能够被拷贝。 除了queue 阅读全文
posted @ 2018-12-13 17:25 悦悦的小屋 阅读(507) 评论(0) 推荐(0) 编辑
摘要: 一、map/multimap特性 map相对于set的区别,map具有键值和实值,所有元素根据键值自动排序,pair的第一元素被称为键值,第二元素被称为实值。map也是以红黑树为底层实现机制。 问:通过map的迭代器可以修改map的键值吗? 答:不能,键值关系到容器内元素的排序规则,任意改变键值会破 阅读全文
posted @ 2018-12-13 16:49 悦悦的小屋 阅读(362) 评论(0) 推荐(0) 编辑