看李先静的《系统程序员的成长计划》里面的动态数组的实现甚是巧妙,整理如下:
typedef.h:
darray.h:
darray.cpp:
学到了什么:
1、返回值统一管理
2、宏定义安全的删除,防止出现野指针
3、宏定义extern "C"
4、分配空间时有个预分配过程,释放空间时不马上释放空闲空间。
5、让数组支持多种类型的数据:使用void*
用下面这种方式传入数值:
用下面这种方式输出数值:
看李先静的《系统程序员的成长计划》里面的动态数组的实现甚是巧妙,整理如下:
typedef.h:
darray.h:
darray.cpp:
学到了什么:
1、返回值统一管理
2、宏定义安全的删除,防止出现野指针
3、宏定义extern "C"
4、分配空间时有个预分配过程,释放空间时不马上释放空闲空间。
5、让数组支持多种类型的数据:使用void*
用下面这种方式传入数值:
用下面这种方式输出数值: