#include <iostream>
using namespace std;
class Bilet {};
template <class T>
class StosWskaznikow
{
public:
StosWskaznikow(int a) { }
private:
StosWskaznikow(const StosWskaznikow&);
const StosWskaznikow& operator=(const StosWskaznikow&);
};
#define SIZE 5
#define VALUE 3
char mem[sizeof(StosWskaznikow<Bilet>) * SIZE];
StosWskaznikow<Bilet>* t = (StosWskaznikow<Bilet>*)(&mem);
class MemMgr
{
private:
static MemMgr mgr;
MemMgr()
{
cout << "Konstruktory" << endl;
for (int i = 0; i < SIZE; i++)
{
new (t + i) StosWskaznikow<Bilet>(VALUE);
}
}
~MemMgr()
{
cout << "Destruktory" << endl;
for (int i = 0; i < SIZE; i++)
{
(t + i)->~StosWskaznikow();
}
}
};
MemMgr MemMgr::mgr;
int main() {
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgoKdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCmNsYXNzIEJpbGV0IHt9OwoKdGVtcGxhdGUgPGNsYXNzIFQ+CmNsYXNzIFN0b3NXc2them5pa293CnsKcHVibGljOgogIFN0b3NXc2them5pa293KGludCBhKSB7IH0KcHJpdmF0ZToKICBTdG9zV3NrYXpuaWtvdyhjb25zdCBTdG9zV3NrYXpuaWtvdyYpOwogIGNvbnN0IFN0b3NXc2them5pa293JiBvcGVyYXRvcj0oY29uc3QgU3Rvc1dza2F6bmlrb3cmKTsKfTsKCiNkZWZpbmUgU0laRSA1CiNkZWZpbmUgVkFMVUUgMwoKY2hhciBtZW1bc2l6ZW9mKFN0b3NXc2them5pa293PEJpbGV0PikgKiBTSVpFXTsKU3Rvc1dza2F6bmlrb3c8QmlsZXQ+KiB0ID0gKFN0b3NXc2them5pa293PEJpbGV0PiopKCZtZW0pOwoKY2xhc3MgTWVtTWdyCnsKcHJpdmF0ZToKICBzdGF0aWMgTWVtTWdyIG1ncjsKICBNZW1NZ3IoKQogIHsKICAJY291dCA8PCAiS29uc3RydWt0b3J5IiA8PCBlbmRsOwoJZm9yIChpbnQgaSA9IDA7IGkgPCBTSVpFOyBpKyspCgl7CgkJbmV3ICh0ICsgaSkgU3Rvc1dza2F6bmlrb3c8QmlsZXQ+KFZBTFVFKTsKCX0KICB9CiAgfk1lbU1ncigpCiAgewogIAljb3V0IDw8ICJEZXN0cnVrdG9yeSIgPDwgZW5kbDsKCWZvciAoaW50IGkgPSAwOyBpIDwgU0laRTsgaSsrKQoJewoJCSh0ICsgaSktPn5TdG9zV3NrYXpuaWtvdygpOwoJfQogIH0KfTsKTWVtTWdyIE1lbU1ncjo6bWdyOwoKaW50IG1haW4oKSB7CglyZXR1cm4gMDsKfQ==