内存基本处理工具
2016-03-20 21:33
337 查看
STL有5个全局函数作用于未初始化的空间上。
前面提到的construct(),destroy(),uninitialized_copy(),uninitialized_fill(),uninitialized_fill_n()
使用时要包含<memory>
1、uninitialized_copy()
然后需要_uninitialzed_copy判断是否是POD类型,如果是则调用copy()函数实现,否则必须用construct函数一个个对象进行构造。
针对char* 和wchar_t*有特化版本,可以采用memmove(直接移动内存内容)
2、uninitialized_fill(),uninitialized_fill_n()
这两个函数无法用底层操作了,它们的特化分别对应fill()和fill_n()函数
前面提到的construct(),destroy(),uninitialized_copy(),uninitialized_fill(),uninitialized_fill_n()
使用时要包含<memory>
1、uninitialized_copy()
template <class InputIterator, class ForwardIterator> inline ForwardIter uninitialized_copy(InputIterator first, InputIterator last, ForwardIterator result) {return _uninitialzed_copy(first,last,result,value_type(result));}
然后需要_uninitialzed_copy判断是否是POD类型,如果是则调用copy()函数实现,否则必须用construct函数一个个对象进行构造。
针对char* 和wchar_t*有特化版本,可以采用memmove(直接移动内存内容)
inline char* uninitialized_copy(const char* first,const char* last,char*result) { memmove(result,first,last-first); return result+(last-first); }
2、uninitialized_fill(),uninitialized_fill_n()
这两个函数无法用底层操作了,它们的特化分别对应fill()和fill_n()函数
相关文章推荐
- SQL 常见面试题
- Hibernate逍遥游记-第13章 映射实体关联关系-002用主键映射一对一(<one-to-one constrained="true">、<generator class="foreign">)
- 大数据量的算法
- 快速排序
- 桥接-NAT-hostonly
- 全局悬浮按钮(FAB)
- 透视投影详解
- 第4周项目1—求四个数的最大公约数
- Android深入浅出之Binder机制
- 怎样让树莓派接移动硬盘
- getsockname函数与getpeername函数的使用
- [置顶] 知耻而后勇《2016/3/20/21:31》
- Linux笔记(62)——nginx安装与php集成
- VRRPv2、VRRPv3、VRRPE详解
- 网页表单序列化
- 分析NTFS系统,得到特定文件内容
- 【c++】有理数加法
- SPFA 模板
- poj2155二维树状数组
- 【c++】有理数加法