社区
工具平台和程序库
帖子详情
SGI种construct的问题!
djhdu
2004-03-02 11:21:57
本人看SGI的STL种的<stl_construct.h>种的
template <class T1, class T2>
inline void construct(T1* p, const T2& value) {
new (p) T1(value);
}
这个函数,一直看不懂new (p) T1(value),哪为大虾给我解释一下啊?
...全文
95
6
打赏
收藏
SGI种construct的问题!
本人看SGI的STL种的种的 template inline void construct(T1* p, const T2& value) { new (p) T1(value); } 这个函数,一直看不懂new (p) T1(value),哪为大虾给我解释一下啊?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
6 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
SGI
STL中的
const
ruct
SGL STL 中虽然有标准的allocate但是实际中使用的确是alloc 它们的主要区别就是alloc 不和allocate一样只是对new和delete进行封装。 new算式其实含有两段操作,1.配置内存,2构造队形。delete:1.析构对象,2.释放内存 在alloc就把中就把这两段操作分开为stl_
const
ruct
.h(构造对象)和stl_alloc.h(分配内存) 下面就是s
sgi
之vector
最简单的
sgi
vector竟然写了四五天。 这次编写所暴露的
问题
是: 1. 一定要单元测试,否则在最后差错的时候会崩溃的 2. 写代码一定要仔细,记住,要bugfree cc
const
ruct
.h #ifndef C_
CONST
RUCT
_H #define C_
CONST
RUCT
_H #include #include inline void destroy(char *
SGI
STL内存配置器Allocator
STL配置器(allocator)头文件与基本的函数 主要为以下三个头文件:stl_
const
ruct
or.h,stl_alloc.h,stl_uninitialized.h 构造和析构工具:
const
ruct
()和destroy() 这两个函数的实现位于stl_
const
ruct
.h,用来实现对象的构造和析构
const
ruct
()和destroy()被实现为全局函数 #ifnd
SGI
STL空间配置器(allocator)设计原理与源码剖析(一)
概述 、
SGI
标准的空间配置器:std::allocator 、
SGI
特殊空间配置器:std::alloc 、构造和析构基本工具:
const
ruct
() 和 destroy() 、空间的配置与释放:std::alloc 、一、二级空间配置器简述
18000+字详解
SGI
-STL空间配置器(增加对uninitialized_xx函数讲解)
本文分析了C++标准Allocator接口和
SGI
STL的特殊空间配置器std::alloc的实现差异。标准Allocator将内存分配与对象构造分离,但
SGI
STL设计了更高效的二级配置器结构。重点解读了stl_
const
ruct
.h中的构造/析构机制,展示了如何通过类型特性(trivial/non-trivial dest
ruct
or)优化大规模对象析构性能。文章揭示了STL在内存管理上的精细设计,特别是对小对象分配和批量析构的特殊处理。
工具平台和程序库
24,851
社区成员
27,330
社区内容
发帖
与我相关
我的任务
工具平台和程序库
C/C++ 工具平台和程序库
复制链接
扫一扫
分享
社区描述
C/C++ 工具平台和程序库
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章