#include <iostream>
#include <vector>
class C
{
int ID = 0;
public:
C(const int newID)
{
ID = newID;
}
int getID()
{
return ID;
}
};
int main() {
std::vector<C> pack;
pack.reserve(10);
printf("pack has %i\n", pack.size()); //will print '0'
pack[4] = C(57);
printf("%i\n", pack[4].getID()); //will print '57'
printf("pack has %i\n", pack.size()); //will still print '0'
pack.at(4) = C(57); // exception
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8dmVjdG9yPgoKY2xhc3MgQwp7CmludCBJRCA9IDA7CgpwdWJsaWM6CkMoY29uc3QgaW50IG5ld0lEKQp7CiAgICBJRCA9IG5ld0lEOwp9CgppbnQgZ2V0SUQoKQp7CiAgICByZXR1cm4gSUQ7Cn0KfTsKCmludCBtYWluKCkgewoJc3RkOjp2ZWN0b3I8Qz4gcGFjazsKCXBhY2sucmVzZXJ2ZSgxMCk7CglwcmludGYoInBhY2sgaGFzICAlaVxuIiwgcGFjay5zaXplKCkpOyAvL3dpbGwgcHJpbnQgJzAnCglwYWNrWzRdID0gQyg1Nyk7CglwcmludGYoIiVpXG4iLCBwYWNrWzRdLmdldElEKCkpOyAvL3dpbGwgcHJpbnQgJzU3JwoJcHJpbnRmKCJwYWNrIGhhcyAgJWlcbiIsIHBhY2suc2l6ZSgpKTsgLy93aWxsIHN0aWxsIHByaW50ICcwJwoJcGFjay5hdCg0KSA9IEMoNTcpOyAvLyBleGNlcHRpb24KCQp9