Clase std::bad_weak_ptr en C++ con ejemplos

C++ estándar contiene varias clases de excepción integradas, std::bad_weak_ptr es una de ellas. std::bad_weak_ptr es el tipo de objeto lanzado como excepción por los constructores de shared_ptr que toman débil_ptr como argumento, cuando débil_ptr se refiere a un objeto ya eliminado. A continuación se muestra la sintaxis para el mismo:

Archivo de cabecera:

<memory>

Sintaxis:

class bad_weak_ptr: public exception;

Nota: Para hacer uso de std::bad_weak_ptr , se deben configurar los bloques try and catch apropiados.

A continuación se muestran los programas para comprender mejor la implementación de std::bad_weak_ptr :

Programa 1:

// C++ code for std::bad_weak_ptr
  
#include <bits/stdc++.h>
  
using namespace std;
  
// main method
int main()
{
    shared_ptr<int> gfg1(new int(75));
  
    weak_ptr<int> wp(gfg1);
    gfg1.reset();
  
    // try block
    try {
        shared_ptr<int> gfg2(wp);
    }
  
    // catch block to handle the errors
    catch (const bad_weak_ptr& gfg) {
        cout << gfg.what() << endl;
    }
    return 0;
}
Producción:

bad_weak_ptr

Programa 2:

// C++ code for std::bad_weak_ptr
  
#include <bits/stdc++.h>
  
using namespace std;
  
// main method
int main()
{
    shared_ptr<int> geeksforgeeks(new int(75));
  
    weak_ptr<int> wp(geeksforgeeks);
    geeksforgeeks.reset();
  
    // try block
    try {
        shared_ptr<int> 
        A_Computer_Science_portal_for_Geeks(wp);
    }
  
    // catch block to handle the errors
    catch (const bad_weak_ptr& gfg) {
        cout << gfg.what() << endl;
    }
}
Producción:

bad_weak_ptr

Referencia: www.cplusplus.com/reference/memory/bad_weak_ptr/

Publicación traducida automáticamente

Artículo escrito por bansal_rtk_ y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *