Мне нравится использовать классы часовых в c ++, но у меня, кажется, есть душевное расстройство, которое приводит к неоднократному написанию ошибок, подобных следующим:
{
MySentryClass(arg);
// ... other code
}
Само собой разумеется, это не удается, потому что часовой умирает сразу после создания, а не в конце области, как предполагалось. Есть ли способ предотвратить создание экземпляра MySentryClass как временного, чтобы приведенный выше код либо не компилировался, либо, по крайней мере, прерывался с сообщением об ошибке во время выполнения?