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

课时

  • 评论
  • 关于我们
开始
开始学习
立即开始学习
  • 我的进度
  • 课程
  • 任务地图
  • 课程
  • argc/argv — 参数的基础解析

    C++ SELF
    等级 67,课时 0
    讲解在 C++ 中如何通过 argc/ argv 获取命令行参数,为什么 argv[i] 是 C 字符串,而不是 std::string,如何安全地检查边界( i + 1 < argc),以及如何实现最简单的标志解析( "--help", "-h")、选项( "--name" "Alice" 和 "--name=Alice")和位置参数的解析。
    可用
  • UX CLI: --help、默认值、退出码

    C++ SELF
    等级 67,课时 1
    讨论如何将控制台工具变为清晰的契约:支持 --help 与提前退出、参数的默认值、在 std::cerr 中输出的正确错误信息,以及通过 enum class ExitCode 的退出码策略( 0 — 成功, 2 — 参数错误)。我们将构建工具 FocusTimer 的框架,包含 print_usage、 parse_args 函数以及通过 std::from_chars 的安全数字解析。
    可用
  • 交互式 vs “一条命令 = 一次运行”

    C++ SELF
    等级 67,课时 2
    分析两种 CLI 工具模式: one-shot(带参数运行,执行一次操作后退出)和 interactive(带命令循环的小型 REPL)。讨论 UX 与自动化:保持 stdout 干净、通过 stderr 报错、返回码 return 0/ return != 0,并展示架构技巧“精简的 main”在教学示例应用 TaskPad 中如何用于共享解析与执行命令的功能。
    可用
  • 日志记录:info/warn/error 级别,统一格式

    C++ SELF
    等级 67,课时 3
    讲解在 C++ CLI 程序中建立日志纪律:为什么“结果”应该输出到 std::cout,而诊断信息应输出到 std::cerr;如何选择最小但有用的级别( info/ warn/ error)、将统一格式 [LEVEL] message 固定在一个地方并封装到一个函数 log()。还会演示使用 enum class + switch 将级别映射为文本,以及在消息更方便通过流拼接时使用 std::ostringstream。
    可用
  • std::source_location:把 file:line 加入日志

    C++ SELF
    等级 67,课时 4
    我们来看看,如何在 C++20/23 中使用 std::source_location,让日志立即以 file:line 格式显示事件发生的位置(如果需要,还可以显示 function_name())。我们会理解一个关键细节:为什么 current() 必须作为参数的默认值;把位置信息集成进一个最小日志器;做出方便的包装函数 log_info/ log_warn/ log_error 而不丢失上下文;并分析常见错误。
    可用
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