#include <iostream>
class XX
{
public:
XX() {
std::cout<<"C XX\n";
if (++instCount > 4) {
throw "Fuck you, I'm not gonna create more than 4 instances";
}
}
//private:
~XX() {
std::cout<<"~ XX\n";
instCount--;
}
private:
static int instCount;
};
int XX::instCount = 0;
int main() {
XX *xx = NULL;
try
{
xx=new XX[10]; // compile error (1)
}
catch(...)
{
std::cout << "Oops" << std::endl;
}
return xx ? 0 : 1;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgogCmNsYXNzIFhYCnsKcHVibGljOgogICAgWFgoKSB7CiAgICAgICAgc3RkOjpjb3V0PDwiQyBYWFxuIjsKICAgICAgICBpZiAoKytpbnN0Q291bnQgPiA0KSB7CiAgICAgICAgICAgIHRocm93ICJGdWNrIHlvdSwgSSdtIG5vdCBnb25uYSBjcmVhdGUgbW9yZSB0aGFuIDQgaW5zdGFuY2VzIjsKICAgICAgICB9CiAgICB9Ci8vcHJpdmF0ZToKICAgIH5YWCgpIHsKICAgICAgICBzdGQ6OmNvdXQ8PCJ+IFhYXG4iOwogICAgICAgIGluc3RDb3VudC0tOwogICAgfQogICAgCnByaXZhdGU6CiAgICBzdGF0aWMgaW50IGluc3RDb3VudDsKfTsKIAppbnQgWFg6Omluc3RDb3VudCA9IDA7CiAKaW50IG1haW4oKSB7CiAgICBYWCAqeHggPSBOVUxMOwogICAgdHJ5CiAgICB7CiAgICAgICAgeHg9bmV3IFhYWzEwXTsgICAvLyBjb21waWxlIGVycm9yICgxKQogICAgfQogICAgY2F0Y2goLi4uKQogICAgewogICAgICAgIHN0ZDo6Y291dCA8PCAiT29wcyIgPDwgc3RkOjplbmRsOwogICAgfQogCiAgICByZXR1cm4geHggPyAwIDogMTsKfQ==