跳至主要內容
张威的编程学习笔记
c/c++
操作系统
网络编程
MySQL
Redis
算法与数据结构
随笔
工具分享
搜索
Ctrl
K
c/c++
张威
小于 1 分钟
目录
#
00 基础必备
#
进程虚拟地址空间
#
指令角度理解堆栈调用过程
#
编译器角度理解c++代码的编译和链接
#
反汇编小结
#
01 C语言基础
#
前言
#
数据类型
#
关键字
#
常量
#
8进制、10进制、16进制及进制转换
#
变量
#
整型(integer)
#
补码
#
scanf
#
字符
#
浮点数
#
do-while(0)
#
malloc、free的底层实现
#
02 C 基础
#
c++初探
#
命名空间
#
const
#
异常安全--当出现异常时,要保证程序是安全的(预判错误)
#
new/delete关键字
#
引用
#
强制转换
#
函数重载
#
默认参数
#
bool
#
inline内联函数
#
string
#
内存对齐
#
03 类和对象
#
类和对象
#
构造函数、初始化列表和析构函数
#
拷贝构造函数
#
指向类型成员的指针
#
this指针
#
赋值运算符函数
#
拷贝构造和赋值重载的实践
#
特殊数据成员的初始化
#
特殊的成员函数
#
对象的组织
#
04 模板
#
函数模板与模板函数
#
类模板与模板类
#
可变模板参数
#
STL向量容器vector简单实现
#
容器空间适配器allocator简单实现
#
05 运算符重载
#
友元
#
复数类CComplex
#
运算符重载实现string类
#
string迭代器的实现
#
vector迭代器的实现
#
迭代器失效的底层核心原理
#
剖析new和delete实现原理
#
重载new和delete运算符实现一个对象池
#
06 继承
#
继承的本质和原理
#
派生方式对基类成员的访问权限
#
派生类的构造和销毁过程
#
重载,隐藏,重写(覆盖)
#
继承中的类型转换
#
多基继承
#
派生类对象间的复制控制
#
菱形继承问题
#
07 多态
#
虚函数
#
静态绑定和🍔动态绑定
#
虚函数的访问
#
哪些函数不能被设置为虚函数?
#
虚析构
#
多态的定义和原理
#
纯虚函数和抽象类
#
继承多态与虚函数案例分析
#
虚基类和虚继承
#
虚拟继承时派生类对象的构造和析构
#
测试虚表的存在
#
带虚函数的多基派生
#
09 标准库 S T L
#
STL顺序容器:vector、deque、list
#
容器适配器:栈、队列、优先级队列
#
无序关联容器、有序关联容器
#
迭代器iterator
#
函数对象与函数指针
#
泛型算法与绑定器
#
10 设计模式
#
Pimpl
#
单例模式
#
简单工厂、工厂方法、抽象工厂
#
代理模式、适配器模式、装饰器模式
#
观察者Observer模式
#
11 资源管理
#
valgrind
#
12 日志
#
log4cpp库的使用
#
14 面试题
#
为什么c和c++函数参数从右往左压栈?
#
分析这段代码构造函数和析构函数的调用顺序
#
空结构体
#
15 对象的优化
#
C++对象的优化
#
C++的右值引用的应用
#
move移动语义和forward完美转发
#
16 智能指针
#
不带引用计数的智能指针
#
带引用计数的智能指针
#
多线程访问共享对象的线程安全问题
#
自定义删除器
#
17 Bind绑定器和function函数对象
#
bind1st和bind2d使用
#
function函数对象类型的应用
#
C++11绑定器介绍
#
模板的完全特例化和非完全特例化
#
function函数对象类型实现原理
#
bind和function实现muduo中的线程池
#
lambda表达式
#
18 C 11知识汇总
#
C++11内容总结
#
C++11多线程编程
#
C++11线程间的同步通信(生产者-消费者模型)
#
再谈mtx和lock_guard和unique_lock
#
页面配置
#
19 S G I S T L二级空间配置器内存池源码
#
SGI STL的verctor是怎么管理对象的
#
SGI STL二级空间配置器重要成员解读
#
两个重要的辅助接口函数
#
内存池allocate分配过程
#
分配内存池_S_refill源码
#
实际分配内存池_S_chunk_alloc源码
#
内存归还dealloacte
#
reallocate
#
总结