最后一个阶段项目把现代 C++ 的值语义、标准容器、算法、lambda、文件资源和错误处理组合起来。目标是做一个命令行任务管理器,而不是再手动实现一遍动态数组和字符串。
功能
task add "完成报告" --priority 3
task list
task list --pending
task done 12
task remove 12
task save tasks.txt
task load tasks.txt
2026/7/19大约 4 分钟
最后一个阶段项目把现代 C++ 的值语义、标准容器、算法、lambda、文件资源和错误处理组合起来。目标是做一个命令行任务管理器,而不是再手动实现一遍动态数组和字符串。
task add "完成报告" --priority 3
task list
task list --pending
task done 12
task remove 12
task save tasks.txt
task load tasks.txt
标准算法不直接依赖某一种容器,而是通过迭代器描述元素范围。这让同一算法可以处理数组、vector、list 和其他满足要求的序列。
[first, last)#include <algorithm>
#include <vector>
std::vector<int> values{4, 1, 3, 2};
std::sort(values.begin(), values.end());
标准模板库提供了经过广泛使用的容器。学习数据结构实现是为了理解代价和约束;写实际 C++ 程序时,通常应优先使用标准容器,而不是重新实现链表、哈希表或动态数组。
std::vector连续存储、支持随机访问、尾部插入均摊 O(1):
#include <iostream>
#include <vector>
int main() {
std::vector<int> values{1, 2, 3};
values.push_back(4);
for (int value : values) {
std::cout << value << ' ';
}
std::cout << '\n';
}