﻿# V744\. Temporary object is immediately destroyed after being created\. Consider naming the object\.

Анализатор обнаружил ошибку, связанную с тем, что при создании объекта ему забыли дать имя\. В этом случае будет сконструирован временный анонимный объект и тут же разрушен\. Иногда в этом нет ничего плохого, и именно этого и хотел добиться программист\. Но если речь идёт о таких классах как 'CWaitCursor' или 'CMultiLock', то это явная ошибка\.

Рассмотрим пример:

```cpp
void func(){
  CMutex mtx;
  CSingleLock(&mtx, TRUE);
  foo();
}
```

В данном примере будет создан временный анонимный объект типа 'CSingleLock', которой будет сразу же разрушен, еще до вызова функции foo\(\)\. В примере программист хотел обеспечить синхронизацию при исполнении функции foo\(\), но на самом деле функция будет вызвана без синхронизации, что может привести к серьезным ошибкам\.

Для исправления ошибки необходимо дать создаваемому объекту имя\.

Пример корректного кода:

```cpp
void func(){
  CMutex mtx;
  CSingleLock lock(&mtx, TRUE);
  foo();
}
```