#include <iostream>
#include <string>
#include <memory>
using namespace std;
int main() {
allocator<string> a; // define the allocator
size_t n;
cout << "Enter the size" << endl;
cin >> n;
string *p = a.allocate(n); // allocate a raw, unconstructed memory
auto q = p;
string tmp;
cout << "Enter the words" << endl;
while (cin >> tmp) {
a.construct(q++, tmp); // construct a object at q
}
cout << "Output the words" << endl;
auto z = p;
for (; z != q; ++z) {
cout << *z << " ";
}
cout << endl;
--q;
cout << "Destruct the memory" << endl;
while (q != p) {
a.destroy(q); // destruct the object at q
--q;
}
a.deallocate(p, 3); // deallocate the memory
return 0;
}
}
12.2 allocator类
最新推荐文章于 2022-07-29 15:31:25 发布