FreeBSD Manual Pages
std::bad_weak_ptr(3) C++ Standard Libary std::bad_weak_ptr(3) NAME std::bad_weak_ptr - std::bad_weak_ptr Synopsis Defined in header <memory> class bad_weak_ptr; (since C++11) std::bad_weak_ptr is the type of the object thrown as exceptions by the constructors of std::shared_ptr that take std::weak_ptr as the argument, when the std::weak_ptr refers to an already deleted object. std-bad weak ptr-inheritance.svg Inheritance diagram Member functions constructor constructs a new bad_weak_ptr object (public member function) operator= replaces the bad_weak_ptr object (public member function) what returns the explanatory string (public member function) std::bad_weak_ptr::bad_weak_ptr bad_weak_ptr() noexcept; (1) (since C++11) bad_weak_ptr( const bad_weak_ptr& other ) noexcept; (2) (since C++11) Constructs a new bad_weak_ptr object with an implementation-defined null-terminated byte string which is accessible through what(). 1) Default constructor. 2) Copy constructor. If *this and other both have dynamic type std::bad_weak_ptr then std::strcmp(what(), other.what()) == 0. Parameters other - another exception object to copy std::bad_weak_ptr::operator= bad_weak_ptr& operator=( const bad_weak_ptr& other ) noexcept; (since C++11) Assigns the contents with those of other. If *this and other both have dynamic type std::bad_weak_ptr then std::strcmp(what(), other.what()) == 0 after assignment. Parameters other - another exception object to assign with Return value *this std::bad_weak_ptr::what virtual const char* what() const noexcept; (since C++11) Returns the explanatory string. Parameters (none) Return value Pointer to a null-terminated string with explanatory information. The string is suitable for conversion and display as a std::wstring. The pointer is guaranteed to be valid at least until the exception object from which it is ob- tained is destroyed, or until a non-const member function (e.g. copy assignment operator) on the exception object is called. Notes Implementations are allowed but not required to override what(). Inherited from std::exception Member functions destructor destroys the exception object [virtual] (virtual public member function of std::exception) what returns an explanatory string [virtual] (virtual public member function of std::exception) Example // Run this code #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'; } } Possible output: std::bad_weak_ptr Defect reports The following behavior-changing defect reports were applied retroac- tively to previously published C++ standards. DR Applied to Behavior as published Cor- rect behavior calling what on a default-constructed the re- turn value is LWG 2376 C++11 bad_weak_ptr was required to return imple- mentation-defined "bad_weak_ptr" See also shared_ptr smart pointer with shared object ownership semantics (C++11) (class template) weak_ptr weak reference to an object managed by std::shared_ptr (C++11) (class template) http://cppreference.com 2022.07.31 std::bad_weak_ptr(3)
NAME | Synopsis | Member functions | Parameters | Parameters | Return value | Parameters | Return value | Notes | Member functions | Example | Possible output: | See also
Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=std::bad_weak_ptr&sektion=3&manpath=FreeBSD+Ports+15.0>
