跳至主要內容
Kingcq's Blog
主页
博文
C/C++
C/C++ 语言与程序设计
CPL Remake
C 语言学习分享
CPL DotOJ 补完计划
C++ SFML 游戏开发
Minecraft Paper 服务器插件开发
Vue3 网络前端开发
搜索
Ctrl
K
C Cpp 语言与程序设计
Kingcq
小于 1 分钟
目录
引言:先建立模型,再学习语法
开发环境搭建与编译运行
来自汇编:高级语言
变量、数据类型与占位符
基本输入与输出
算术、关系与逻辑运算符
类型转换、整数提升与数值边界
分支结构
循环结构
循环控制
函数定义、调用与返回值
形参与实参、局部变量与全局变量
程序的内存模型、存储期与生命周期
预处理、头文件与多文件编译
C 标准库:不要重复制造已有工具
一维数组
二维数组
字符数组与基础字符串操作
阶段项目一:可靠的成绩统计程序
指针的概念与内存地址
指针变量的操作与解引用
指针与数组的映射关系
二级指针、函数指针与回调
动态内存分配
内存安全:越界、泄漏与悬空指针
文件输入输出:让数据跨越程序运行周期
命令行参数、错误码与错误传播
测试、断言与 Sanitizer
结构体与自定义数据类型
结构体指针与结构体数组
C 语言里的面向对象思想
阶段项目二:可保存的通讯录
算法复杂度:怎样描述规模增长
动态数组:从固定容量到可增长容器
节点与单向链表
栈的原理与实现
队列的原理与实现
基础排序算法
分治排序:归并排序与快速排序
顺序查找与二分查找
递归思想与函数调用栈
二叉树与前中后序遍历
二叉搜索树:让查找沿分支缩小范围
二叉堆与优先队列
哈希表:从键快速找到值
图的表示:顶点、边与邻接结构
字典树 Trie
并查集:判断“我们是不是一伙的”
深度优先搜索 DFS
广度优先搜索 BFS
阶段项目三:文本词频与索引工具
从 C 过渡到现代 C++
C++ 函数接口:重载、默认参数、引用与值类别
从结构体到类
构造函数与析构函数
复制、移动、RAII 与资源所有权
this 指针
运算符重载与值语义
C++ 的输入输出流:从键盘到文件再到字符串
继承、组合与可替换关系
虚函数覆盖、名字隐藏与协变返回
虚函数与多态
模板与泛型编程
STL 容器:选择合适的数据组织方式
迭代器与标准算法
Lambda、可调用对象与回调
C++ 错误处理:异常、optional 与 variant
阶段项目四:现代 C++ 任务管理器
程序调试:GDB 与编辑器调试
Makefile:自动化项目构建
CMake 与 XMake:现代项目构建