Пространства имён
Варианты
Действия

std::weak_ptr::expired

Материал из cppreference.com
< cpp‎ | memory‎ | weak ptr

 
 
 
 
std::weak_ptr
Функции-члены
weak_ptr::weak_ptr
weak_ptr::~weak_ptr
weak_ptr::operator=
Модификаторы
weak_ptr::reset
weak_ptr::swap
Наблюдатели
weak_ptr::use_count
weak_ptr::expired
weak_ptr::lock
weak_ptr::owner_before
Функции, не являющиеся членами
std::swap
 
bool expired() const;
(начиная с C++11)
Проверяет, является ли управляемый объект уже удален. Эквивалент use_count() == 0.
Оригинал:
Checks whether the managed object has already been deleted. Equivalent to use_count() == 0.
Текст был переведён автоматически через Google Translate.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.

Содержание

[править] Параметры

(Нет)
Оригинал:
(none)
Текст был переведён автоматически через Google Translate.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.

[править] Возвращаемое значение

true если управляемый объект уже удален, false иначе.
Оригинал:
true if the managed object has already been deleted, false otherwise.
Текст был переведён автоматически через Google Translate.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.

[править] Исключения

noexcept-спецификация:  
noexcept
  (начиная с C++11)

[править] Notes

expired() может быть быстрее, чем use_count().
Оригинал:
expired() may be faster than use_count().
Текст был переведён автоматически через Google Translate.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.

[править] Пример

Демонстрирует истекшим используется для проверки действия указателей .
Оригинал:
Demonstrates how expired is used to check validity of the pointer.
Текст был переведён автоматически через Google Translate.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.

#include <iostream>
#include <memory>
 
std::weak_ptr<int> gw;
 
void f()
{
    if (!gw.expired()) {
    std::cout << "gw is valid\n";
    }
    else {
        std::cout << "gw is expired\n";
    }
}
 
int main()
{
    {
        auto sp = std::make_shared<int>(42);
    gw = sp;
 
    f();
    }
 
    f();
}

Вывод:

gw is valid
gw is expired


[править] См. также

создает shared_ptr, которая управляет указанный объект
Оригинал:
creates a shared_ptr that manages the referenced object
Текст был переведён автоматически через Google Translate.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.

(public функция-член) [edit]
возвращает количество объектов, которые shared_ptr управлять объектом
Оригинал:
returns the number of shared_ptr objects that manage the object
Текст был переведён автоматически через Google Translate.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.

(public функция-член) [edit]