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

课时

  • 评论
  • 关于我们
开始
开始学习
立即开始学习
  • 我的进度
  • 课程
  • 任务地图
  • 课程
  • 按值传递:副本与复制成本

    C++ SELF
    等级 15,课时 0
    在这节课中,我们将讲解 C++ 23 中参数的按值传递:为什么形如 T x 的参数意味着会创建一个副本,几乎“免费”的 int 副本与可能代价高昂的 std::string 和 std::vector 副本有何不同,为什么 const 不会取消复制,什么时候“接收 → 转换 → 返回”的风格是合适的,以及如何在那些只读取数据的函数中,因为“隐藏的副本”而不小心让程序变得更沉重。
    可用
  • T& 和 const T& —— “第二个名字”

    C++ SELF
    等级 15,课时 1
    在本讲中,我们会把 C++ 中参数里的引用当作一种“契约”来理解: T & 与 const T & 有什么区别,为什么 T & 不能绑定到临时对象,而 const T & 却可以,以及如何仅凭函数签名就立刻看出:函数会修改参数,还是只读取它。实践部分我们会把这些知识应用到基于 std::vector 和 std::string 的控制台 TodoList,最后再巩固几类典型错误(多余的非常量引用、对 const 与拷贝的错误预期)。
    可用
  • T* 与 nullptr:指针作为地址

    C++ SELF
    等级 15,课时 2
    在本讲中,你将理解 T* 在 C++ 中的含义, & 取地址运算符如何工作,为什么需要 nullptr,如何通过 * 安全地解引用指针,以及为什么像 T* 这样的参数常表达“可为空契约”。实践部分会涉及输出参数( out)、输入校验、数组与指针的关系(decay),最后讨论常见错误以及如何避免它们。
    可用
  • 返回多个值:struct、std::pair 与 std::tuple

    C++ SELF
    等级 15,课时 3
    在本讲中我们会讲解如何在 C++ 中通过“一次 return”返回多个值:使用 struct、 std::pair 和 std::tuple。我们将比较可读性和顺序混淆的风险,给出用于一个简易命令行记账小程序的示例,并讨论常见错误(返回局部变量的引用、索引魔法、忘记检查 ok 标志等)。
    可用
  • 结构化绑定:auto [a, b] = ...;

    C++ SELF
    等级 15,课时 4
    在本讲中,我们将通过实践讲解 C++17+ 中的结构化绑定:如何把 std::pair、std::tuple 和 struct “解包”为有意义的变量,auto、auto& 与 const auto& 有什么区别,为什么给临时值创建引用很危险,以及如何编写像 for (const auto& [k, v] : ...) 这样的可读循环。
    可用
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