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

课时

  • 评论
  • 关于我们
开始
开始学习
立即开始学习
  • 我的进度
  • 课程
  • 任务地图
  • 课程
  • Storage duration 在 C++ 中 — automatic / static / dynamic

    C++ SELF
    等级 38,课时 0
    解析 C++ 中对象“存在多长时间”的概念,使用 storage duration 的术语: automatic(直到最近的 })、 static(几乎整个程序期间)和 dynamic(由像 std::vector 和 std::string 这样的容器管理的内存)。另外区分 scope 和 lifetime,查看通过 static 的调用计数器例子、 std::vector 的增长示例,并在一个小型应用 TaskBook 中巩固所有内容。
    可用
  • 栈:局部变量的生命周期与离开 scope

    C++ SELF
    等级 38,课时 1
    我们来解析在 C++ 中调用栈如何保存函数上下文:什么是栈帧,为什么局部的 automatic 对象恰好在它们的 scope 范围内存活, return 与 } 导致的销毁如何工作,为什么有时添加额外的块 {} 有用,以及为什么深递归受限于栈大小。最后 — 备忘与典型错误解析。
    可用
  • Heap——非常有意思

    C++ SELF
    等级 38,课时 2
    我们来分析:为什么程序需要动态内存(在教学模型中称为“堆”),为什么栈不适合存放可变大小的数据,以及在 C++ 中如何通过拥有所有权的容器 std::vector 和 std::string 正确地“无痛使用动态内存”。我们将以迷你应用 TaskBox 为例,讨论 size()/ capacity()、 reserve() 的意义、重新分配的代价,以及典型错误(例如把 reserve 和 resize 搞混)。
    可用
  • Lifetime 与析构函数:析构何时被调用

    C++ SELF
    等级 38,课时 3
    我们讲解 C++ 中对象的生存期和析构函数的自动调用: scope 与 lifetime 有何区别,为什么析构函数 ~Type() 在块边界被调用, return 时如何进行销毁,为什么对象按声明的相反顺序被销毁,结构体字段和容器元素( std::vector、 std::string)会发生什么,以及如何使用“scope 退出日志器”进行调试。
    可用
  • 内存地址:运算符 &

    C++ SELF
    等级 38,课时 4
    解析 C++ 中的 address-of 运算符 &: x 和 & x 有何不同,为什么地址也是一种值,如何打印和比较地址,复合对象( struct 与字段)如何寻址,以及新手常犯的错误(生命周期、将地址当作 ID 使用、对临时对象取地址)。为指针主题 T * 和引用 T & 做准备。
    可用
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