c++: allocator, uninitialized_copy, uninitialized_fill_n
2015-12-16 11:13
483 查看
#include <memory> #include <iostream> #include <vector> int main() { std::vector<int> vi{1, 3, 5, 7}; std::allocator<int> alloc; auto p = alloc.allocate(vi.size() * 2); auto q = std::uninitialized_copy(vi.begin(), vi.end(), p); std::uninitialized_fill_n(q, vi.size(), 42); for (auto w = p; w != p + vi.size() * 2; w++) { std::cout << *w << ","; } std::cout << "\n"; for (auto w = p + vi.size() * 2; w != p;) { alloc.destroy(--w); } alloc.deallocate(p, vi.size() * 2); return 0; }
// from C++ primer 5th(p.484) // uninitialized_copy, uninitialized_fill_n // g++ xx.cpp -std=c++11
相关文章推荐
- 23种设计模式C++实例之组合模式
- 23种设计模式C++实例之桥接模式
- 开发中遇到C++ 问题,记在这里,方便以后查看
- 23种设计模式C++实例之装饰模式
- 23种设计模式C++实例之代理模式
- c语言基础
- oc中new和init的区别
- 23种设计模式C++实例之适配器模式
- Blade - 腾讯开源的构建系统 c/c++编译环境
- c++11: allocator construct
- windows C++ 创建快捷方式API, 100% 能运行
- 在vs2008 C++下调试控制台程序的心得及技巧
- Pro*C/C++具体操作
- 23种设计模式C++实例之外观模式
- C语言中define的用法
- OC语言——把四个十进制三位数存放到一个数组中,然后按升序排序
- c++ 自定义排序容器set
- C++命名空间namespace
- C++ 类模板不能实现分离式编译
- Debug实模式调试