: object , ( , , ), , . object try:
try {
Object object(value);
object.usingExemple();
} catch (exception) {
return 1;
}
: try , . - object .
, , , usingExample(), ( @immibis ). , :
std::unique_ptr<Object> objectPtr;
try {
objectPtr.reset(new Object(value));
} catch (exception)
return 1;
}
Object &object = *objectPtr;
object.usingExample();
new, " ":
alignas(Object) unsigned char objectStorage[sizeof(Object)];
Object *objectPtr;
try {
objectPtr = new (&objectStorage) Object(value);
} catch (exception) {
return 1;
}
try {
Object &object = *objectPtr;
object.usingExample();
} catch (...) {
objectPtr->~Object();
throw;
}