#include <vector>
#include <string>
#include <cstdio>
#include <cstdlib>
using namespace std;
int nextid = 0;
class Entry {
public:
string data;
int myid;
Entry(string in) {
data = in;
myid = nextid;
nextid++;
printf("Entry%02d\n", myid);
}
~Entry() { printf("~Entry%02d\n", myid); }
};
class Meep {
public:
vector<Entry> stuff;
};
void think(Meep m) {
m.stuff.push_back(Entry(string("fluttershy")));
}
int main() {
Meep a;
a.stuff.push_back(Entry(string("applejack")));
think(a);
vector<Entry>::iterator it;
int i = 0;
for (it=a.stuff.begin(); it!=a.stuff.end(); it++) {
printf("a.stuff[%d] = %s\n", i, (*it).data.c_str());
i++;
}
return 0;
}
I2luY2x1ZGUgPHZlY3Rvcj4KI2luY2x1ZGUgPHN0cmluZz4KI2luY2x1ZGUgPGNzdGRpbz4KI2luY2x1ZGUgPGNzdGRsaWI+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CgppbnQgbmV4dGlkID0gMDsKY2xhc3MgRW50cnkgewpwdWJsaWM6CiAgICBzdHJpbmcgZGF0YTsKICAgIGludCBteWlkOwogICAgRW50cnkoc3RyaW5nIGluKSB7CiAgICAgICAgZGF0YSA9IGluOwogICAgICAgIG15aWQgPSBuZXh0aWQ7CiAgICAgICAgbmV4dGlkKys7CiAgICAgICAgcHJpbnRmKCJFbnRyeSUwMmRcbiIsIG15aWQpOwogICAgfQogICAgfkVudHJ5KCkgeyBwcmludGYoIn5FbnRyeSUwMmRcbiIsIG15aWQpOyB9Cn07CgpjbGFzcyBNZWVwIHsKcHVibGljOgogICAgdmVjdG9yPEVudHJ5PiBzdHVmZjsKfTsKCnZvaWQgdGhpbmsoTWVlcCBtKSB7CiAgICBtLnN0dWZmLnB1c2hfYmFjayhFbnRyeShzdHJpbmcoImZsdXR0ZXJzaHkiKSkpOwp9CgppbnQgbWFpbigpIHsKICAgIAogICAgTWVlcCBhOwogICAgYS5zdHVmZi5wdXNoX2JhY2soRW50cnkoc3RyaW5nKCJhcHBsZWphY2siKSkpOwogICAgdGhpbmsoYSk7CiAgICB2ZWN0b3I8RW50cnk+OjppdGVyYXRvciBpdDsKICAgIGludCBpID0gMDsKICAgIGZvciAoaXQ9YS5zdHVmZi5iZWdpbigpOyBpdCE9YS5zdHVmZi5lbmQoKTsgaXQrKykgewogICAgICAgIHByaW50ZigiYS5zdHVmZlslZF0gPSAlc1xuIiwgaSwgKCppdCkuZGF0YS5jX3N0cigpKTsKICAgICAgICBpKys7CiAgICB9CiAgICAKICAgIHJldHVybiAwOwp9CgoKCg==