配置newは同一のメモリチャンクから何度も領域を確保できないのか。
わからなくなってきた。

class A {
int i;
public:
A(int j) : i(j) {}
void func() { std::cout << i << std::endl; }
};

int main()
{
char arena[1024];
A *a[10];

std::cout << std::hex << reinterpret_cast<int*>(arena) << std::endl;
for (int i = 0; i < 10; i++) {
a[i] = new(arena) A(i);
std::cout << std::hex << a[i] << std::endl;
}

for (int i = 0; i < 10; i++) {
a[i]->func();
delete a[i];
}
}