摘要: std::transform 是一个常用的 STL 算法,用于对序列中的每个元素进行操作,并将结果存储在另一个序列中。 lambda 表达式是一种匿名函数,可以在需要传递函数作为参数的场景中使用,比如在 std::transform 中。 语法: // 一元操作 std::transform(Inp 阅读全文
posted @ 2024-08-27 16:50 北宸于烁 阅读(131) 评论(0) 推荐(0)
摘要: 仿函数的基本定义 仿函数(Functor),也称为函数对象(Function Object),是一个行为像函数的对象。实现仿函数的方法是重载类中的 operator() 操作符,使得对象能够像调用普通函数一样使用。仿函数的主要优势是它们可以拥有状态,并且可以被用于 STL 算法和容器中。 简单例子: 阅读全文
posted @ 2024-08-27 16:44 北宸于烁 阅读(53) 评论(0) 推荐(0)
摘要: 常见关联容器的迭代器失效规则 std::map 和 std::set: 插入元素: 插入新元素不会使任何已有的迭代器失效。你可以在插入新元素后继续使用所有现有的迭代器。 删除元素: 删除某个元素会导致指向该元素的迭代器失效。除此之外,所有指向其他元素的迭代器仍然有效。 如果在遍历过程中删除元素,应该 阅读全文
posted @ 2024-08-27 16:40 北宸于烁 阅读(195) 评论(0) 推荐(0)
摘要: 使用 :: 表示 iterator 是 std::map<std::string, double> 类的成员类型。 点击查看代码 #include <iostream> #include <map> int main() { // 创建一个 map,其中键是字符串,值是浮点数 std::map<st 阅读全文
posted @ 2024-08-27 16:37 北宸于烁 阅读(56) 评论(0) 推荐(0)
摘要: 范围基于for循环是C++11中引入的,简化了遍历数组或容器的代码 点击查看代码 #include <iostream> #include <vector> int main() { std::vector<int> numbers = {1, 2, 3, 4, 5}; // 使用范围基于 for 阅读全文
posted @ 2024-08-27 16:34 北宸于烁 阅读(69) 评论(0) 推荐(0)