2022年2月11日

摘要: 原文见:http://c.biancheng.net/view/6675.html 迭代器是什么 无论是序列容器还是关联容器,最常做的操作无疑是遍历容器中存储的元素,而实现此操作,多数情况会选用“迭代器(iterator)”来实现。那么,迭代器到底是什么呢? 我们知道,尽管不同容器的内部结构各异,但 阅读全文

posted @ 2022-02-11 19:42 foghorn 阅读(48) 评论(0) 推荐(0) 编辑

摘要: 通常认为,STL 是由容器、算法、迭代器、函数对象、适配器、内存分配器这 6 部分构成,其中后面 4 部分是为前 2 部分服务的,它们各自的含义如下表所示。 | STL的组成 | 含义 | | | | | 容器 | 一些封装数据结构的模板类,例如 vector 向量容器、list 列表容器等。 | 阅读全文

posted @ 2022-02-11 19:22 foghorn 阅读(139) 评论(0) 推荐(0) 编辑

摘要: lower_bound(arr, x)函数用于查找arr中第一个大于或等于x的元素,如果arr是容器,则返回的是迭代器,如果arr是普通数组,则返回的是指针。 upper_bound(arr, x)查找arr中第一个大于x的元素,如果x有多个,则查找最后一个。 两个函数必须在有序序列上操作,在头文件 阅读全文

posted @ 2022-02-11 14:49 foghorn 阅读(54) 评论(0) 推荐(0) 编辑

摘要: emplace_back() 和 push_back() 的区别,就在于底层实现的机制不同。push_back() 向容器尾部添加元素时,首先会创建这个元素,然后再将这个元素拷贝或者移动到容器中(如果是拷贝的话,事后会自行销毁先前创建的这个元素);而 emplace_back() 在实现时,则是直接 阅读全文

posted @ 2022-02-11 13:17 foghorn 阅读(434) 评论(0) 推荐(0) 编辑


Copyright © 2024 foghorn
Powered by .NET 9.0 on Kubernetes