#include <iostream>
#include <string>
using namespace std;
struct ObjectName
{
string name;
};
int main()
{
ObjectName* m_objects0 = new ObjectName[10];
ObjectName* m_objects1 = new ObjectName[10];
for(int i = 0; i < 10; ++i)
{
m_objects0[i].name = "object A" + to_string(i+1);
m_objects1[i].name = "object B" + to_string(i+1);
}
ObjectName* object_ptrs[] = {
m_objects0, m_objects0 + 10,
m_objects1, m_objects1 + 10
};
for(int i = 0; i < 4; i += 2)
{
ObjectName* m_pObject = object_ptrs[i];
ObjectName* m_pObjects_end = object_ptrs[i+1];
while (m_pObject != m_pObjects_end)
{
cout << m_pObject->name << endl;
++m_pObject;
}
}
delete[] m_objects0;
delete[] m_objects1;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8c3RyaW5nPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKc3RydWN0IE9iamVjdE5hbWUKewoJc3RyaW5nIG5hbWU7Cn07CgppbnQgbWFpbigpCnsKCU9iamVjdE5hbWUqIG1fb2JqZWN0czAgPSBuZXcgT2JqZWN0TmFtZVsxMF07CglPYmplY3ROYW1lKiBtX29iamVjdHMxID0gbmV3IE9iamVjdE5hbWVbMTBdOwoKCWZvcihpbnQgaSA9IDA7IGkgPCAxMDsgKytpKQoJewoJCW1fb2JqZWN0czBbaV0ubmFtZSA9ICJvYmplY3QgQSIgKyB0b19zdHJpbmcoaSsxKTsKCQltX29iamVjdHMxW2ldLm5hbWUgPSAib2JqZWN0IEIiICsgdG9fc3RyaW5nKGkrMSk7Cgl9CgkKCU9iamVjdE5hbWUqIG9iamVjdF9wdHJzW10gPSB7CgkJbV9vYmplY3RzMCwgbV9vYmplY3RzMCArIDEwLAoJCW1fb2JqZWN0czEsIG1fb2JqZWN0czEgKyAxMAoJCgl9OwoKCWZvcihpbnQgaSA9IDA7IGkgPCA0OyBpICs9IDIpCgl7CgkJT2JqZWN0TmFtZSogbV9wT2JqZWN0ID0gb2JqZWN0X3B0cnNbaV07CgkJT2JqZWN0TmFtZSogbV9wT2JqZWN0c19lbmQgPSBvYmplY3RfcHRyc1tpKzFdOwoKCQl3aGlsZSAobV9wT2JqZWN0ICE9IG1fcE9iamVjdHNfZW5kKQoJCXsKCSAgICAJY291dCA8PCBtX3BPYmplY3QtPm5hbWUgPDwgZW5kbDsKICAgIAkJKyttX3BPYmplY3Q7CgkJfQoJfQoKCWRlbGV0ZVtdIG1fb2JqZWN0czA7CglkZWxldGVbXSBtX29iamVjdHMxOwp9