AI Academy
促销
CodeGym University
学习
课程
任务
调查 & 测验
游戏
帮助
日程
社区
Users
论坛
聊天
文章
成功故事
动态
评价
订阅
浅色主题
课时
评论
关于我们
开始
开始学习
立即开始学习
我的进度
课程
任务地图
课程
C++
C++
级别 12
非高等的非教育
C++ SELF
等级 12,
课时 0
在本文中,我们剖析关于高等教育的神话与现实:为什么文凭不能保证成功,高校在现代世界中的角色如何变化,为什么实践比理论更重要,以及职业成长真正需要的是什么。面向那些希望高效学习并成为受欢迎的专业人士的读者。
std::vector
:
push_back
,
size
,
capacity
C++ SELF
等级 12,
课时 1
在本讲你将学习 C++ 标准库的容器 —
std::vector<T>
。我们会分析为什么固定数组并不总是方便,学习如何通过
push_back()
添加元素,如何基于
size()
正确构建循环,以及理解
capacity()
的含义和向量的基本不变量。最后我们会构建一个小型应用《支出存钱罐》,并分析新手常犯的典型错误。
reserve
/
resize
:为什么以及如何缩减数组
C++ SELF
等级 12,
课时 2
解析为什么
std::vector
会“跳跃式”增长,以及
size()
和
capacity()
到底表示什么。实践中比较
reserve(n)
与
resize(n)
,看看何时会发生重新分配内存、如何为大量
push_back
预先准备缓冲区、如何正确地“裁剪”容器,以及初学者在处理容量与大小时最常犯的错误。
访问
std::vector
元素:
[]
与
at()
、
front()
/
back()
、
empty()
C++ SELF
等级 12,
课时 3
我们讲解对
std::vector
的安全且实用的访问:索引边界在哪儿(
0
…
size
-
1
),
[]
和
at()
有何不同,如何在调用
front()
/
back()
前正确使用
empty()
,以及哪些错误最常导致崩溃或“静默”数据损坏。
遍历
std::vector
:索引 vs
range-for
C++ SELF
等级 12,
课时 4
我们将讲解三种在 C++ 中遍历
std::vector
的实用方法:基于索引的循环(使用
for
和
std::size_t
)、
range-for
(包括通过
&
区分“拷贝 vs 引用”的重要细节)以及使用迭代器的遍历(
begin()
/
end()
,以及对
*
it
的解引用)。通过示例我们会针对不同任务选择合适的方法,并分析典型错误:越界一位(off-by-one)、错误的索引类型以及试图解引用
end()
。
从
std::vector
中删除:
erase()
C++ SELF
等级 12,
课时 5
解析如何使用
std::vector
的
erase()
正确删除元素:删除时物理上发生了什么、为何元素会被移动、哪些迭代器/引用会失效、范围
[
first
,
last
)
的含义、
erase
实际返回什么,以及如何在遍历容器时安全地删除元素。
写代码
C++ SELF
等级 12,
课时 6
讲座介绍开发者的典型工作日以及任务处理流程的常见方式:从在 JIRA 中跟踪,到在 Git 中提交,再到通过 Pull Request 进行代码评审。
Please enable JavaScript to continue using this application.