必威体育Betway必威体育官网
当前位置:首页 > IT技术

STL:: allocator之deallocate & destory的区别与联系

时间:2019-06-20 02:45:17来源:IT技术作者:seo实验室小编阅读:54次「手机版」
 

deallocate

c++中的allocator是标准库中的一个类,负责内存分配管理。

下面是《STL源码剖析》中一个简单allocator实现的部分源代码

deallocate:

	template <class T>
	inline void _deallocate(T* buffer)
	{
		::operator delete(buffer);    //为什么不用 delete [] ?  ,operator delete 区别于 delete 
		                             //operator delete  是一个底层操作符
	}

destory

	template <class T>
	inline void _destory(T *ptr)
	{
		ptr->~T();
	}

destory负责调用类型的析构函数,销毁相应内存上的内容(但销毁后内存地址仍保留)

deallocate负责释放内存(此时相应内存中的值在此之前应调用destory销毁,将内存地址返回给系统,代表这部分地址使用引用-1)

参考:《STL源码剖析》 P44-45;

    《C++ Primer》 P428-429.

相关阅读

(JSTL)jstl.jar和standard.jar的下载地址与使用

jstl.jar下载地址: http://repo2.maven.org/maven2/javax/servlet/jstl/standard.jar下载地址: http://repo2.maven.org/maven2/t

圣魔大战3(Castle Fantisia)艾伦希亚战记修改器/秘籍—

艾伦西亚战记== 艾伦希亚战记,是一个游戏武器:UltraEdit(金山游侠自带的文件修改器也可以,只是这个专业)目标: 存档文件(建议先备份) 

自定义 jstl 标签 fns

1、jsp 头部页面引入函数 jsp页面需要引入自定义fns函数声明: <%@ taglib prefix=”fns” uri=”/WEB-INF/tlds/fns.tld” %>,自定

分享到:

栏目导航

推荐阅读

热门阅读