#include <iostream>
#include<vector>
#include<memory>
using namespace std;
class A
{
int id_;
public:
void setID(int id){id_ = id;}
int getID(){return id_;}
};
class B
{
vector<unique_ptr<A>> vec;
public:
void fill(int id)
{
std::unique_ptr<A> a(new A());
a->setID(id);
vec.push_back(std::move(a));
}
void test()
{
for(const auto& n : vec)
{
cout<<n->getID()<<" ";
//do other thing as u want .. like inserting elements
}
}
};
int main() {
B b;
b.fill(23);
b.fill(1);
b.fill(32);
b.fill(123);
b.test();
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZTx2ZWN0b3I+CiNpbmNsdWRlPG1lbW9yeT4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKY2xhc3MgQQp7CglpbnQgaWRfOwoJcHVibGljOgoJdm9pZCBzZXRJRChpbnQgaWQpe2lkXyA9IGlkO30KCWludCBnZXRJRCgpe3JldHVybiBpZF87fQp9OwpjbGFzcyBCCnsKCXZlY3Rvcjx1bmlxdWVfcHRyPEE+PiB2ZWM7CglwdWJsaWM6Cgl2b2lkIGZpbGwoaW50IGlkKQoJewoJCXN0ZDo6dW5pcXVlX3B0cjxBPiBhKG5ldyBBKCkpOwoJCWEtPnNldElEKGlkKTsKCQl2ZWMucHVzaF9iYWNrKHN0ZDo6bW92ZShhKSk7Cgl9Cgl2b2lkIHRlc3QoKQoJewoJCWZvcihjb25zdCBhdXRvJiBuIDogdmVjKQoJCXsKCQkJY291dDw8bi0+Z2V0SUQoKTw8IiAiOwoJCQkvL2RvIG90aGVyIHRoaW5nIGFzIHUgd2FudCAuLiBsaWtlIGluc2VydGluZyBlbGVtZW50cwoJCX0KCX0KCn07CgppbnQgbWFpbigpIHsKCUIgYjsKCWIuZmlsbCgyMyk7CgliLmZpbGwoMSk7CgliLmZpbGwoMzIpOwoJYi5maWxsKDEyMyk7CgliLnRlc3QoKTsKCglyZXR1cm4gMDsKfQ==