适配 “持久生命周期” 的需求:全局/静态变量的生命周期和程序一致(从程序启动到退出),不需要像局部变量那样频繁创建 / 销毁,单独划分区域可以让操作系统在程序启动时一次性分配内存,退出时统一释放,避免和...//当前代码中free(p3)已经释放了realloc分配的新内存,无需再处理p2.
free(p3 );
}
函数 函数原型(简化) 功能描述
malloc void* malloc(size_t size...可以看看这个视频 Glibc中malloc实现原理
3.C++内存管理方式
C语言内存管理方式在C++中可以继续使用,但有些地方就无能为力,而且使用起来比较麻烦,因此C++又提出了自己的内存管理方式...使用函数重载虽然可以实现,但是有一下几个不好的地方:
1️⃣重载的函数仅仅是类型不同,代码复用率比较低,只要有新类型出现时,就需要用户自己增加对应的函数.
2️⃣代码的可维护性比较低,一个出错可能所有的重载均出错...,根据实参类型产生函数的特定类型版本.模板的核心是参数化:将类型、常量等作为 “模板参数”,替代代码中固定的类型/值,从而实现一份代码适配多种类型/场景(比如写一个通用的交换函数,既能交换int数组,也能交换