CodeGym
AI Academy
促销
CodeGym University
学习
课程
任务
调查 & 测验
游戏
帮助
日程
社区
Users
论坛
聊天
文章
成功故事
动态
评价
订阅
浅色主题

课时

  • 评论
  • 关于我们
开始
开始学习
立即开始学习
  • 我的进度
  • 课程
  • 任务地图
  • 课程
  • 深入迭代器

    C++ SELF
    等级 21,课时 0
    解析 STL 这一“通用语言”是如何工作的:迭代器与区间 [ first , last )。理解为什么 end() 表示“末尾之后”的边界, begin()/ end() 与 cbegin()/ cend() 有何不同,如何安全地使用算法返回的迭代器(以 std::find 为例),并通过一个小项目 TaskTracker,通过迭代器按 id 搜索任务并谨慎地处理“未找到”的情况来巩固所学。
    可用
  • find_if、count_if、any_of/all_of:无循环的检查

    C++ SELF
    等级 21,课时 1
    我们来讲解在 C++(STL)中如何在不写手工循环的情况下对数据提问:通过 std::find_if 找到第一个符合条件的元素,通过 std::count_if 统计符合条件的个数,通过 std::any_of 检查“是否存在至少一个?”以及通过 std::all_of 检查“是否全部符合?”。引入谓词( bool 检查)的概念,讨论算法的早期终止和常见错误(检查迭代器是否为 end()、“迭代器 vs 索引”、谓词中的副作用)。
    可用
  • std::accumulate:求和与简单聚合

    C++ SELF
    等级 21,课时 2
    讲解来自头文件 std::accumulate(在 <numeric> 中)如何对区间做“归约”:求和、求积、字符串拼接和按条件计数。单独讨论为什么起始值 init 决定累加类型(以及如何通过 0LL 避免溢出)、如何以 op(acc, x) 形式编写自定义操作 op,以及初学者常犯的错误。
    可用
  • std::sort 和比较器——排序的基础场景

    C++ SELF
    等级 21,课时 3
    我们来拆解 C++ 中排序的基础场景: std::sort 是如何工作的,为什么它会在 begin()/ end() 指定的范围上“就地”排序,如何通过比较器 bool comp( const T &, const T &) 指定自定义顺序,以及为什么用 <=/ >= 来比较是一个典型陷阱。在实践中,我们会按名称、优先级以及多个条件(状态 done + priority)对任务列表( Task)进行排序,同时还会讨论常见错误:忘记包含头文件 <algorithm>、在比较器中产生副作用,以及对排序后索引的错误预期。
    可用
  • 算法 vs 循环

    C++ SELF
    等级 21,课时 4
    分析在 C++ 中何时更适合使用标准库算法(例如 std::count_if, std::any_of, std::all_of, std::find_if),何时用普通的 for/ while 让逻辑更清晰。以小型应用 TaskTracker 为例,讨论可读性 vs 流程控制、一次遍历 vs 多次遍历,以及典型错误(尤其是迭代器结果的处理和对 end() 的检查)。
    可用
Learn
  • 注册
  • Java 课程
  • 任务帮助
  • 定价
  • Java 语法
社区
  • 用户
  • 文章
  • 论坛
  • 聊天
  • 成功故事
  • 动态
  • 联盟计划
Company
  • 关于我们
  • 联系方式
  • 评价
  • 媒体中心
  • CodeGym for EDU
  • 常见问题
  • 支持
CodeGymCodeGym 是一个从零开始学习 Java 编程的在线课程。该课程是初学者掌握 Java 的完美方式。它包含 1200+ 个带即时验证的任务,以及必要的 Java 基础理论。为了帮助你在学习中取得成功,我们实现了一系列激励功能:测验、编码项目、关于高效学习的内容,以及 Java 开发者职业相关内容。
关注我们
界面语言
English Deutsch Español हिन्दी Français Português Polski বাংলা
简体中文
मराठी தமிழ் Italiano Bahasa Indonesia 繁體中文 Nederlands 日本語 한국어 Bulgarian Danish Hungarian Basa Jawa Malay Norwegian Romanian Swedish Telugu Thai Українська Filipino Turkish Azərbaycan Русский Vietnamese
“程序员是培养出来的,不是天生的” © 2026 CodeGym
MastercardVisa
“程序员是培养出来的,不是天生的” © 2026 CodeGym