Должен ли я использовать weak_ptr.lock () только для проверки, указывает ли он на действительный объект?

Кажется, неэффективно создавать временный shared_ptr только для того, чтобы посмотреть, не указывает ли указатель weak_ptr на действительный объект. Я не хочу даже получить доступ к объекту. Это потому, что у меня есть функция, которая возвращает weak_ptr из вектора shared_ptr, и если он возвращает пустой слабый_ptr, то это означает, что объект с таким GUID еще не существует.

Поэтому я просто проверяю, существует ли объект.

Есть ли другой способ проверить, является ли weak_ptr пустым или нет, не создавая shared_ptr?

9

Решение

Вы можете использовать expired() функция-член.

20

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]