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

课时

  • 评论
  • 关于我们
开始
开始学习
立即开始学习
  • 我的进度
  • 课程
  • 任务地图
  • 课程
  • 每个 .cpp 单独编译

    C++ SELF
    等级 26,课时 0
    讲解 C++ 的分离编译:为什么编译器把每个 .cpp 当作独立的“世界”来处理,什么是 翻译单元(文件加上通过 #include 包含进来的所有内容),为什么“函数在另一个文件里”在没有声明时无济于事,以及如何正确修复类似 was not declared 的错误。最后 — 多文件拆分代码时的常见错误以及如何避免它们。
    可用
  • 头文件 vs 源文件:声明与定义

    C++ SELF
    等级 26,课时 1
    讲解为什么在 C++ 中把代码分为 .hpp 和 .cpp, 声明 与 定义(签名 vs 实现体)有何不同,哪些实体应该作为“契约”放在头文件,哪些应该作为“实现”放在源文件。实践中我们把小应用 TaskPad 提取到模块 tasks,并指出典型错误:签名不匹配、头文件不自洽,以及尝试通过 #include 引入 .cpp 文件。
    可用
  • namespace — 代码组织与冲突隔离

    C++ SELF
    等级 26,课时 2
    我们来探讨为什么 C++ 需要命名空间: namespace 如何帮助在大型项目和引入库时避免命名冲突,如何读写像 ns::name 这样的限定名(包括 std::cout),嵌套命名空间的结构(例如 app::model、 app::ui),如何在不同文件中“继续”同一个 namespace,以及为什么 main 必须保留在全局可见域。
    可用
  • using 与 using namespace

    C++ SELF
    等级 26,课时 3
    解析在 C++ 中如何缩短限定名( std::cout、 std::string、 app::cli::print_menu)而不产生“传播效应”:点式 using( using ns::name)与指令式 using namespace 有何区别,作用域如何工作,为什么头文件( .hpp)需要约束,以及在 .cpp 中应采用哪些实用模式。
    可用
  • 仓库结构:include/, src/, tests/ 和 build/

    C++ SELF
    等级 26,课时 4
    解析实用的 C++ 项目结构:在 include/、 src/、 tests/ 和 build/ 文件夹中应放什么、为什么要将接口与实现分离(模块模型 «模块 = .hpp + .cpp»)、为什么构建产物不应提交,以及在一个包含单独头文件、实现和“冒烟”检查的迷你项目 Tasky 中这如何体现。
    可用
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