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; }
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; } }
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