练习19.1
使用malloc编写你自己的operator new(size_t)函数,使用free编写operator delete(void*)函数。
解答:
这个也就参考书中实现吧。
不过这里我更倾向于使用模板来实现,不把new的参数写死。
练习19.2
默认情况下,allocator类使用operator new获取存储空间,然后使用operator delete释放它。利用上一题中的两个函数重新编译并运行你的StrVec程序(参见13.5,节,第465页)
解答:
如书中所示,当你要重载这两个操作的时候,你就接过了管理程序内存的大权,必须要谨慎,必须要正确,否则程序将会出现各种各样的错误。
这个也没有什么可写的,allocator会默认去调用,所以,只要重载了就可以了。