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

课时

  • 评论
  • 关于我们
开始
开始学习
立即开始学习
  • 我的进度
  • 课程
  • 任务地图
  • 课程
  • 实例化——模板错误看起来很吓人

    C++ SELF
    等级 56,课时 0
    我们来弄清楚,为什么 C++ 中的模板“不会立即检查”:什么是实例化,为什么错误会在使用时出现,如何阅读编译器的长报错信息(替换链、 [with T = ...]、“no match for operator...”),以及如何把“模板长卷”变成一份清晰的类型要求列表。最后还有一个实践示例:通用打印 std::vector<T>,以及为什么你需要为自己的 Task 定义 operator<<。
    可用
  • 在哪里放模板 — 头文件和与 ODR 的关系

    C++ SELF
    等级 56,课时 1
    我们来分析为什么在 C++ 中模板的定义几乎总是放在头文件:分离编译模型、按使用点实例化、典型的链接错误 undefined reference,以及这一切如何与 ODR 相关。另有头文件卫生( #pragma once / include guards)以及通过 .inl/ .tpp 分离实现的实用方法。
    可用
  • auto 根据表达式推导类型 — 基本规则

    C++ SELF
    等级 56,课时 2
    我们来解析在 C++ 中通过 auto 声明变量时类型推导如何工作:为什么必须提供初始值,形式为 auto x = expr 的写法为何表现为“按值创建副本”,在推导时会丢失哪些信息(顶层 const 和未含 & 的引用语义),以及为什么在与标准库(例如 size()、 find()、迭代器和算法)搭配时 auto 尤其有用。最后给出典型错误和关于代码可读性的实用建议。
    可用
  • auto& / const auto& — 如何不丢失 const

    C++ SELF
    等级 56,课时 3
    我们分析为什么普通的 auto 经常会执行拷贝并“去除” const,以及如何在 auto、 auto & 和 const auto & 之间正确地做出选择。 通过 std::string、 std::vector 和小型示例程序 TaskBox,我们将看到 range-for 中哪里会产生多余的拷贝,为什么非常量引用不能绑定到临时对象,以及初学者最常犯的错误。
    可用
  • decltype 与 decltype(auto)

    C++ SELF
    等级 56,课时 4
    我们来分析即便你已经在积极使用 auto,为什么在 C++ 中仍然需要 decltype:如何“字面上保持表达式的类型”,不丢失 const 和引用性( &),为什么 decltype(x) 和 decltype((x)) 是不同的,及 decltype( auto) 如何帮助编写正确且高效的 return 而不产生多余的拷贝。
    可用
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