std::bad_weak_ptr

来自cppreference.com
< cpp‎ | memory

 
 
 
 
std::bad_weak_ptr
成员函数
原文:
Member functions
文本通过谷歌翻译机器翻译。
你可以帮忙校正和验证翻译。点击此处查看指示。
 
定义于头文件 <memory>
class bad_weak_ptr;
(C++11 起)
std::bad_weak_ptrstd::shared_ptrstd::weak_ptr的说法,当std::weak_ptr指的是一个已被删除的对象的构造函数抛出的异常对象的类型.
原文:
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.
文本通过谷歌翻译机器翻译。
你可以帮忙校正和验证翻译。点击此处查看指示。
cpp/error/exceptionstd-bad weak ptr-inheritance.svg
关于这幅图像

继承图

目录

[编辑] 成员函数

构建bad_weak_ptr对象
原文:
constructs the bad_weak_ptr object
文本通过谷歌翻译机器翻译。
你可以帮忙校正和验证翻译。点击此处查看指示。

(公开成员函数)

继承自 std::exception

成员函数

析构该异常对象
(std::exception 的虚公开成员函数) [编辑]
[虚]
返回解释性字符串
(std::exception 的虚公开成员函数) [编辑]

[编辑] 示例

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

输出:

std::bad_weak_ptr

[编辑] 另请参阅

拥有共享对象所有权语义的智能指针
(类模板) [编辑]
(C++11)
std::shared_ptr所管理的对象的弱引用
(类模板) [编辑]