#include <iostream>
struct S
{
S(int i) : i(i) {}
void print() const { std::cout << i << std::endl; }
int i;
};
int main() {
const int cnt = 10;
void* p = ::operator new(sizeof(S)*cnt);
for(int i=0;i<cnt;++i)
new (p+i*sizeof(S)) S(i);
S* s = static_cast<S*>(p);
for(int i=0;i<cnt;++i)
s[i].print();
// S* ss = new S[cnt]; // не работает без конструктора по умолчанию
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgoKc3RydWN0IFMKewoJUyhpbnQgaSkgOiBpKGkpIHt9Cgl2b2lkIHByaW50KCkgY29uc3QgeyBzdGQ6OmNvdXQgPDwgaSA8PCBzdGQ6OmVuZGw7IH0KCWludCBpOwp9OwoKaW50IG1haW4oKSB7CgkKCWNvbnN0IGludCBjbnQgPSAxMDsKCXZvaWQqIHAgPSA6Om9wZXJhdG9yIG5ldyhzaXplb2YoUykqY250KTsKCWZvcihpbnQgaT0wO2k8Y250OysraSkKCQluZXcgKHAraSpzaXplb2YoUykpIFMoaSk7CgkKCVMqIHMgPSBzdGF0aWNfY2FzdDxTKj4ocCk7CgkKCWZvcihpbnQgaT0wO2k8Y250OysraSkKCQlzW2ldLnByaW50KCk7CgkKCS8vIFMqIHNzID0gbmV3IFNbY250XTsgLy8g0L3QtSDRgNCw0LHQvtGC0LDQtdGCINCx0LXQtyDQutC+0L3RgdGC0YDRg9C60YLQvtGA0LAg0L/QviDRg9C80L7Qu9GH0LDQvdC40Y4KCXJldHVybiAwOwp9