Descrição
É um indicador fraco e ruim.
Declaração
A seguir está a declaração para std :: bad_weak_ptr.
class bad_weak_ptr: public exception;
C ++ 11
class bad_weak_ptr: public exception;
Parâmetros
Nenhum
Valor de retorno
Nenhum
Exceções
No-throw guarantee - nenhum membro lança exceções.
Exemplo
No exemplo abaixo para std :: bad_typeid.
#include <memory>
#include <iostream>
int main() {
std::shared_ptr<int> p1(new int(42));
std::weak_ptr<int> wp(p1);
p1.reset();
try {
std::shared_ptr<int> p2(wp);
} catch(const std::bad_weak_ptr& e) {
std::cout << e.what() << '\n';
}
}
O exemplo de saída deve ser assim -
bad_weak_ptr