https://blog.csdn.net/moter/article/details/121075200
unique_ptr<int[]> up2(new int[10]);
up2[0] = 1;
up2[1] = 2;
up2[2] = 3;
up2[3] = 4;
up2[4] = 5;
int* q = up2.get();
std::cout << *q << std::endl;
std::cout << *(q + 1) << std::endl;
std::cout << q[4] << std::endl;
class Person
{
public:
Person(int a)
{
this->a = a;
}
~Person()
{
int a = 1;
int b = 2;
}
int a;
};
#include<climits>
int main()
{
unique_ptr<Person> p = make_unique<Person>(3);
cout << typeid(p).name() << endl;
return 0;
}
fill_n的填充:
vector<unique_ptr<int[]>> _sparse2;
int page = 1;
int size1 = _sparse2.size();
if (_sparse2.size() <= page)
{
_sparse2.resize(page + 1);
size1 = _sparse2.size();
}
if (!_sparse2[page])
{
_sparse2[page] = make_unique<int[]>(3);
fill_n(_sparse2[page].get(), 3, 100); //填充3个100
int x1 = _sparse2[page][0];
int x2 = _sparse2[page][1];
int x3 = _sparse2[page][2];
int* q = _sparse2[page].get();
for (int i = 0; i < 3; ++i)
{
cout << *(q++) << endl;
}
}