c++: allocator, uninitialized_copy, uninitialized_fill_n

来源:互联网 发布:数据大魔王txt离线下载 编辑:程序博客网 时间:2024/04/28 17:19
#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
0 0
原创粉丝点击