- Windows开发环境的准备
- Linux开发环境
- 第一个C++程序 1)用VS生成最简单的C++程序 2)运行C++程序 3)示例
- C++输出数据 1)数据的分类 2)输出数据 3)示例
- 程序的注释 1)单行注释 2)多行注释 3)注释的注释 4)VS中的快捷键 5)示例
- 使用变量 1)声明变量 2)变量的赋值 3)示例
- 使用常量 1)宏常量 2)const修饰的变量 3)常量的特点 4)示例
- 标识符的命名 1)C++命名规则 2)C++关键字
- 输入数据 1)用std::cin输入数据 2)示例
- 算术运算
- 自增和自减
- 赋值运算 1)赋值运算 2)示例
- C++11初始化赋值 1)C++和C++11初始化赋值 2)示例
- 关系运算 1)关系运算 2)示例
- 逻辑运算 1)逻辑运算 2)示例
- 逗号运算 1)逗号运算 2)示例
- 运算的优先级 1)运算的优先级 2)示例
- if语句的基本结构 2)示例
- 嵌套使用if语句 1)嵌套使用if语句 2)示例
- 嵌套if语句的坑
- 多条件的if语句 1)多条件的if语句 2)示例
- if语句中的逻辑表达式
- 三目运算
- switch语句
- while循环语句
- 循环的跳转
- for循环语句
- 嵌套使用循环
- do…while循环语句
- goto语句
- 函数的声明和定义
- 函数的调用
- 变量的作用域 1)全局变量 2)局部变量 3)静态局部变量 4)注意事项
- 函数参数的传递
- 函数分文件编写
- VS中调试程序
- 递归函数
- sizeof运算符
- 整型的基本概念
- 整数的书写
- 二进制
- 八进制
- 十六进制
- 需要注意的坑
- C++11的long long类型
- 浮点型(实数型)
- 字符型的基本概念 1)ASCII 控制字符 (0~31) 2)ASCII 可显示字符 (32~127) 3)字符的本质
- 转义字符
- C++11的原始字面量
- 字符串型
- 布尔型
- 数据类型的转换 1)自动类型转换 2)强制类型转换
- 数据类型的别名typedef
- 指针的基本概念 1)变量的地址 2)指针变量 3)对指针赋值 4)指针占用的内存
- 使用指针
- 指针用于函数的参数
- 用const修饰指针 1)常量指针 2)指针常量 3)常指针常量
- void关键字
- C++内存模型
- 动态分配内存new和delete
- 二级指针
- 空指针 1)使用空指针的后果 2)C++11的nullptr
- 野指针
- 函数指针 1)声明函数指针 2)函数指针的赋值 3)函数指针的调用
- 一维数组的基本概念 1)创建数组 2)数组的使用 3)数组占用内存的情况 4)数组的初始化 5)清空数组 6)复制数组
- 一维数组和指针 1)指针的算术 2)数组的地址 3)数组的本质 4)数组名不一定会被解释为地址
- 一维数组用于函数的参数 1)指针的数组表示 2)一维数组用于函数的参数 11)用于string的表达式 12)注意事项
- 二维数组 1)创建二维数组 2)二维数组的使用 3)二维数组占用内存的情况 4)二维数组的初始化 5)清空二维数组 1)基本语法 2)用于函数的参数 3)用于动态分配内存
- 结构体数组
- 结构体嵌入数组和结构体 四. 赋值操作 五. 交换. 反转. 排序. 归并 六. 比较操作
- 智能指针unique_ptr 一. 断言 二. C++11静态断言
- C++11新标准 一. 委托构造 二. 继承构造
- 可变参数模板
- 时间操作chrono库
- C++11线程 一. 创建线程 二. 线程资源的回收 三. this_thread的全局函数 四. call_once函数 五. native_handle函数 六. 线程安全
- 条件变量-生产消费者模型 一. condition_variable类 二. unique_lock类
- 原子类型atomic
- 可调用对象 一. 普通函数 二. 类的静态成员函数 三. 仿函数 四. lambda函数 五. 类的非静态成员函数 六. 可被转换为函数指针的类对象
- 包装器function
- 适配器bind
- 课后作业 三. 循环计数 四. 循环选数 五. 玩转字符 六. 计算字符串的长度 七 . 显示字符串中的字符 八. 字符串反转 九. 二维数组的应用 二十一. 拆分字符串 二十二. 解析xml字符串 二十三. 随机数 二十四. 随机发牌 三十. 静态顺序表 三十一. 动态顺序表 三十四. 双链表 三十五. 栈 三十六. 队列 四十. 冒泡排序
- Linux的Hello world 一. 快速入门Linux 二. 安装软件包 1)安装C和C++的编译器 2)升级编译器 3)安装库函数的帮助文档 三. 编译
- 静态库和动态库 一. 静态库 二. 动态库 三. 优先使用动态库
- main函数的参数 二. 操作环境变量 1)设置环境变量 2)获取环境变量的值 三. 示例
- gdb的常用命令
- Linux的时间操作 七. 程序睡眠
- Linux的目录操作 一. 几个简单的目录操作函数 1)获取当前工作目录 2)切换工作目录 3)创建目录 4)删除目录 二. 获取目录中文件的列表 1)包含头文件 2)相关的库函数 3)数据结构
- Linux的系统错误
- 目录和文件的更多操作
- Linux的信号 一. 信号的基本概念
- 调用可执行程序 一. system()函数 二. exec函数族
- 创建进程 三. fork()函数
- 第一个网络通讯程序 一. 网络通讯的流程
- 基于Linux的文件操作
- 主机字节序与网络字节序
- 万恶的结构体
- 封装socket
- 多进程的网络服务端
- 实现文件传输功能
- 三次握手与四次挥手
Folders and files
| Name | Name | Last commit date | ||
|---|---|---|---|---|
