c++内存示例14内存域分配器适配器,中临时缓冲
Posted 周三石
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c++内存示例14内存域分配器适配器,中临时缓冲相关的知识,希望对你有一定的参考价值。
#包含 <算法>
#包含 <io流>
#包含 <内存>
#包含 <串>
#包含 <步>
整 主()
{
常 串 s[] = {"串", "1", "测试", "..."};
常 动 p = 取临时缓冲<串>(4);
// 要求将 p.第一 传递给 中临时缓冲
// (当心提前退出和异常)
复制(s, s + p.第二,
原始存储步<串*, 串>(p.第一));
// 要求单独销毁每个 p 中的 串
// (当心提前退出和异常)
复制(p.第一, p.第一 + p.第二,
出流步<串>{输出, "\n"});
每一(p.第一, p.第一 + p.第二, [](串& e) {
e.~基串<符>();
});
标::中临时缓冲(p.第一);
}
串
1
测试
...
元< 类 T >
构 重绑定 {
又 域分配器适配器<
分配器特征<外部分配>::元 重绑定分配<T>,
内部分配...
> 其他;
};
#包含 <向量>
#包含 <域分配器>
#包含 <提升/进程间/管理共享内存.h++>
#包含 <提升/进程间/分配器/适应池.h++>
名字空间 bi = 提升::进程间;
元<类 T> 用 分配 = bi::适应池<T,
bi::管理共享内存::段管理器>;
用 进内通行 = 向量<整, 分配<整>>;
用 进内通矩阵 = 向量<进内通行, 标::域分配器适配器<分配<进内通行>>>;
整 主 ()
{
bi::管理共享内存 s(bi::仅创建, "示例", 65536);
// 在共享内存中创建 向量 的 向量
进内通矩阵 v(s.取段管理器());
// 对于所有这些附加项,内层 向量 从外层 向量 的 域分配器适配器
// 获得其分配器参数
v.调整(1); v[0].压后(1);
v.原后(2);
向量<整> 本地行 = {1,2,3};
v.原后(本地行.开始(), 本地行.尾());
bi::共享内存对象::移除("示例");
}
消灭(p);
回收对象(p);
U* p = 分配对象<U>();
试 {
构造(p, 前向<构造器实参>(构造器实参)...);
} 抓 (...) {
回收对象(p);
抛;
}
中 p;
以上是关于c++内存示例14内存域分配器适配器,中临时缓冲的主要内容,如果未能解决你的问题,请参考以下文章