Есть ли допустимый случай для создания временного файла, который немедленно уничтожается и не используется непосредственно в C ++ ?

Inspired by этот вопрос . Предположим, у меня есть class Lock с конструктором по умолчанию, и в каком-то коде я пишу следующее утверждение:

Lock();

это приведет к созданию временного объекта класс Lock и сразу же его уничтожить. Конечно, создание могло иметь некоторые побочные эффекты, и что изменило бы поведение программы, однако это выглядит довольно странно.

Итак, мое первое предположение состоит в том, что такие утверждения, хотя и полностью действительны с языковая перспектива, скорее всего, будет содержать логическую ошибку.

Существуют ли допустимые варианты использования вышеуказанного утверждения? Есть ли хорошо-известные и популярные идиомы, включающие такие утверждения? Зачем мне нужны такие операторы в правильной программе?

16
задан Community 23 May 2017 в 12:34
поделиться