当前位置: 首页 > news >正文

什么网站流量高保定中企动力怎么样

什么网站流量高,保定中企动力怎么样,专业做网站建设公司,深圳比较好的ui设计公司singleton_pool singleton_pool与 pool的接口完全一致&#xff0c;可以分配简单数据类型&#xff08;POD&#xff09;的内存指针&#xff0c;但它是一个单件。 singleton_pool位于名字空间boost&#xff0c;为了使用singleton_pool组件&#xff0c;需要包含头文件<boost/p…

singleton_pool

singleton_pool与 pool的接口完全一致,可以分配简单数据类型(POD)的内存指针,但它是一个单件。

singleton_pool位于名字空间boost,为了使用singleton_pool组件,需要包含头文件<boost/pool/singleton_pool.hpp>,即:

#include <boost/pool/singleton_pool.hpp>
using namespace boost;

singleton_pool 默认使用boost.thread 库提供线程安全保证,所以需要链接boost_thread库,如果不使用多线程,那么可以在头文件前定义宏 BOOST_POOL_NO_MT。

类摘要

template <typename Tag, unsigned RequestedSize>
class singleton_ pool
{
public:static bool is_from(void * ptr);static void* malloc(); //分配内存static void* ordered_malloc();static void* ordered_malloc(size_type n);static void free(void * ptr); //归还内存static void ordered_free(void* ptr);static voidfree(void * ptr, std: : size_t n);static voidordered_free (void * ptr, size_type n);static bool release_memory(); //释放内存static bool purge_memory();
);

用法

singleton_pool主要有两个模板类型参数(其余的可以使用缺省值)。第一个Tag仅仅是用于标记不同的单件,可以是空类,甚至是声明(这个用法还被用于boost.exception)。第二个参数RequestedSize等同于 pool构造函数中的整数requested_size,指示pool分配内存块的大小。

singleton_pool 的接口与pool完全一致,但成员函数均是静态的,所以不需要声明singleton_pool 的实例。直接用域操作符::来调用静态成员函数。因为singleton_pool是单件,所以它的生命周期与整个程序同样长,除非手动调用release_memory()或purge_memory(),否则singleton_pool不会自动释放所占用的内存。除了这两点,singleton_pool的用法与pool完全相同。

#define BOOST_POOL_NO_MT //不使用多线程
#include <boost/pool/singleton_pool.hpp>struct pool_tag {}; //仅仅用于标记的空类
typedef singleton_pool<pool_tag, sizeof(int)> spl; //内存池定义int main()
{int* p = (int*)spl::malloc(); //分配一个整数内存块assert(spl::is_from(p));spl::release_memory(); //释放所有未被分配的内存
} //spl的内存直到程序结束才完全释放,而不是退出作用域

singleton_pool在使用时最好使用typedef来简化名称,否则会使得类型名过于冗长而难以使用。如代码中所示:

typedef singleton_pool<pool_tag,sizeof (int)> spl;

用于标记的类pool_tag可以再进行简化,直接在模板参数列表中声明tag类,这样可以在一条语句中完成对singleton_pool的类型定义,例如:

typedef singleton_pool<struct pool_tag, sizeof (int)> spl;

代码示例

#define BOOST_POOL_NO_MT
#include <boost/pool/singleton_pool.hpp>struct pool_tag {};
typedef singleton_pool<pool_tag, sizeof(int)> spl;void case4()
{int* p = (int*)spl::malloc();assert(spl::is_from(p));spl::release_memory();
}int main()
{case4();
}
http://www.yayakq.cn/news/737968/

相关文章:

  • 浙江荣盛建设集团网站网站建设公司星海网络
  • 企业电子商务网站网站专用app
  • 这种资源网站怎么做才赚钱网站的特效代码
  • 做游戏 网站网站功能需求表
  • 设计一份包含网站建设范图片编辑软件
  • 中小企业网站建设报告上海市企业网站建设
  • 建设营销型网站流程wordpress主题module破解版
  • 高唐网站建设服务商如何禁止ip访问网站
  • 绍兴seo网站管理seo站外推广有哪些
  • 滨湖网站建设手机网站制作平台有哪些
  • 招商网站大全全屋定制厂家怎么找
  • 山西响应式网站哪家好网站 个人 公司 区别
  • 签合网站是哪个好公司网站建设行业怎么样
  • 宜宾百度网站建设微信模板消息
  • 鄂州市住房和城乡建设部网站怎么自己做网站怎么赚钱
  • 大型购物网站设计学校网站建设汇报
  • 怎样做一个网站本溪做网站的公司
  • 《电子商务网站建设》精品课南宁seo排名原理
  • 海南省交通建设局网站制作企业网站要花多少钱
  • 制作企业网站要多少钱北京网站建设方案
  • 深圳网站制作必选祥奔科技婴儿衣服做的网站好
  • 徐州网站建设 网站制作网上商城可行性分析报告
  • 建设发展公司网站深圳建网站哪家公司好
  • 网站点击量与排名北京官网建设多少钱
  • wap 2.0的网站安徽康东建设工程有限公司网站
  • 万网服务器网站建设模板网站的域名是什么意思
  • 个人外贸网站制作交易类网站做支付宝功能
  • 乌兰浩特网站建设wordpress菜单左对齐
  • 宁波网站建设公司哪个好平价网站平价网站建设建设
  • 网站开发卖东西时彩网站开发