本仓库收录近期在学习 C++ 时编写的练习代码,有较多注释帮助阅读者理解回顾基本知识点。
笔记与课程对应关系:
- Chapter 01~07 - 黑马程序员-C++教程从0到1入门
- Chapter 08~09 - 达内-C++STL标准模板库教程
- Hello_World.cpp
- Const_and_Pointer.cpp
- Pointer_and_Array.cpp
- Pointer_and_Function.cpp
- Hello_Struct.cpp
- struct_02.cpp
- struct_03.cpp
- struct_04_const.cpp
- struct_05_project.cpp
- 综合项目练习:通讯录管理系统
- 内存四区_全局区.cpp
- 内存四区_栈区.cpp
- 内存四区_堆区.cpp
- new.cpp
- 引用_01.cpp
- 引用_02_做函数参数.cpp
- 引用_03_做函数返回值.cpp
- 引用_04.cpp
- 引用_05_常量引用.cpp
- 函数_01_默认参数.cpp
- 函数_02_占位参数.cpp
- 函数_03_函数重载.cpp
- 类与对象_封装_01.cpp
- 类与对象_封装_02.cpp
- 类与对象_封装_03.cpp
- 类与对象_对象特征_01.cpp
- 类与对象_对象特征_02.cpp
- 类与对象_对象特征_03.cpp
- 类与对象_对象特征_04.cpp
- 类与对象_对象特征_05.cpp
- 类与对象_对象特征_06.cpp
- 类与对象_对象特征_07.cpp
- 类与对象_对象特征_08.cpp
- 类与对象_对象特征_09.cpp
- 类与对象_对象特征_10.cpp
- 类与对象_对象特征_11.cpp
- 类与对象_对象特征_12.cpp
- 类与对象_友元_01.cpp
- 类与对象_友元_02.cpp
- 类与对象_友元_03.cpp
- 类与对象_运算符重载_01.cpp
- 类与对象_运算符重载_02.cpp
- 类与对象_运算符重载_03.cpp
- 类与对象_运算符重载_04.cpp
- 类与对象_运算符重载_05.cpp
- 类与对象_运算符重载_06.cpp
- 类与对象_继承_01.cpp
- 类与对象_继承_02.cpp
- 类与对象_继承_03.cpp
- 类与对象_继承_04.cpp
- 类与对象_继承_05.cpp
- 类与对象_继承_06.cpp
- 类与对象_继承_07.cpp
- 类与对象_多态_01.cpp
- 类与对象_多态_02.cpp
- 类与对象_多态_03.cpp
- 类与对象_多态_04.cpp
- 类与对象_多态_05.cpp
- 类与对象_多态_06.cpp
- 文件操作_文本文件_01.cpp
- 文件对象_文本文件_02.cpp
- 文件操作_二进制文件_01.cpp
- 文件操作_二进制文件_02.cpp
- 函数模板基本语法.cpp
- 函数模板注意事项.cpp
- 函数模板案例_数组排序.cpp
- 普通函数与函数模板区别.cpp
- 普通函数与函数模板的调用规则.cpp
- 模板的局限性.cpp
- 类模板基本语法.cpp
- 类模板与函数模板区别.cpp
- 类模板中成员函数创建时机.cpp
- 类模板对象做函数参数.cpp
- 类模板与继承.cpp
- 类模板成员函数类外实现.cpp
- 类模板的分文件编写
- 类模板与友元.cpp
- 类模板案例:自定义数组类
- STL基本概念.md
- vector存放内置数据类型.cpp
- vector存放自定义数据类型.cpp
- vector容器嵌套容器.cpp
- string_构造函数.cpp
- string_赋值操作.cpp
- string_字符串拼接.cpp
- string_查找与替换.cpp
- string_字符串比较.cpp
- string_字符存取.cpp
- string_字符串插入与删除.cpp
- string_子串获取.cpp
- vector_构造函数.cpp
- vector_赋值操作.cpp
- vector_容量与大小.cpp
- vector_插入与删除.cpp
- vector_数据存取.cpp
- vector_互换容器
- vector_预留空间.cpp
- deque_构造函数.cpp
- deque_赋值操作.cpp
- deque_大小操作.cpp
- deque_插入与删除.cpp
- deque_数据存取.cpp
- deque_排序.cpp
- 案例_评委打分.cpp
- stack_基本概念与常用接口.cpp
- queue_基本概念与常用接口.cpp
- list_基本概念与构造函数
- list_赋值与交换.cpp
- list_大小操作.cpp
- list_插入与删除.cpp
- list_数据存取.cpp
- list_反转与排序.cpp
- list_排序案例.cpp
- set/multiset_基本概念_构造与赋值.cpp
- set_大小与交换.cpp
- set_插入与删除.cpp
- set_查找与统计.cpp
- set与multiset区别.cpp
- pair_对组创建.cpp
- set_内置类型指定规则排序.cpp
- set_自定义数据类型指定规则排序.cpp
- map/multimap_基本概念_构造与赋值.cpp
- map_大小与交换.cpp
- map_插入与删除.cpp
- map_查找与统计.cpp
- map_排序.cpp
- 案例_员工分组.cpp
- 遍历_for_each.cpp
- 遍历_transform.cpp
- 查找_find.cpp
- 查找_find_if.cpp
- 查找_adjacent_find.cpp
- binary_search.cpp
- 查找_count.cpp
- 查找_count_if.cpp
- 排序_sort.cpp
- random_shuffle.cpp
- 排序_merge.cpp
- 排序_reverse.cpp
- 拷贝与替换_copy.cpp
- 拷贝与替换_replace.cpp
- 拷贝与替换_replace_if.cpp
- 拷贝与替换_swap.cpp
- 算数生成_accmulate.cpp
- 算数生成_fill.cpp
- 集合_set_intersection.cpp
- 集合_set_union.cpp
- 集合_set_difference.cpp
- 模板起源
- 01_typed.cpp - 静态类型语言带来的劣势
- 02_untyped.cpp - 宏可摆脱数据类型的限制
- 03_macro.cpp - 利用宏构建通用函数框架
- 函数模板
- 04_functmpl.cpp - 函数模板的定义、使用、分析、实例化条件
- 函数模板扩展
- 05_double_compile.cpp - 关于函数模板的两次编译
- 06_deduction.cpp - 隐式推断类型实参
- 07_overload.cpp - 函数模板的重载
- 类模板
- 08_clstmpl.cpp - 类模板的声明、使用(上)
- 09_clstmpl.cpp - 类模板的使用(下)
- 10_static.cpp - 类模板中的静态成员
- 11_recursion.cpp - 类模板的递归实例化
- 类模板扩展
- 12_special.cpp - 全局特化
- 13_partial.cpp - 局部特化
- 14_default.cpp - 类型形参的缺省值
- 15_valparam.cpp - 数值形式的模板参数
- 16_membervar.cpp - 模板技巧-模板型成员变量
- 17_memberfunc.cpp - 模板技巧-模板型成员函数
- 18_membertype.cpp - 模板技巧-模板型成员类型
- 19_tmplargs.cpp - 模板技巧-模板型模板参数
- 类模板典型错误
- 20_nested_dependency.cpp - 嵌套依赖
- 21_temperror.cpp - 依赖模板参数访问成员函数模板
- 22_this.cpp - 子类模板访问基类模板
- 23_init.cpp - 零值初始化
- 24_virtual.cpp - 类模板中的成员虚函数
- list.cpp - 模拟STL,实现链表容器
代码统计工具:github.com/AlDanial/cloc v1.92
语言 | 文件 | 空行 | 注释 | 代码 |
---|---|---|---|---|
C++ | 192 | 1867 | 2061 | 8284 |
C/C++ Header | 17 | 105 | 112 | 339 |
总计 | 209 | 1972 | 2173 | 8623 |