最后一个阶段项目把现代 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
构造函数让对象正确出生,析构函数让对象正确结束。但对象还会被复制、赋值、返回和放入容器。只要类拥有动态内存、文件句柄或锁,就必须明确这些操作意味着什么。
int a = 10;
int b = a;
前面的 C 语言部分让你看清了数组、指针、动态内存和所有权。进入 C++ 后,不是把 printf 换成 cout 就结束了。现代 C++ 的核心变化是:让类型和对象生命周期替程序员承担更多约束。
C++ 源文件通常使用 .cpp:
g++ demo.cpp -std=c++17 -Wall -Wextra -Wpedantic -g -o demo