次の方法で共有


bad_weak_ptr クラス

weak_ptr が無効であることを示す例外を報告します。

class bad_weak_ptr
    : public std::exception {
public:
    bad_weak_ptr();
    const char *what() throw();
    };

解説

このクラスは、weak_ptr クラス 型の引数を持った shared_ptr クラス のコンストラクターからスローされる例外を表します。 メンバー関数 what からは、"bad_weak_ptr" が返されます。

使用例

 

// std_tr1__memory__bad_weak_ptr.cpp 
// compile with: /EHsc 
#include <memory> 
#include <iostream> 
 
int main() 
    { 
    std::weak_ptr<int> wp; 
 
     { 
    std::shared_ptr<int> sp(new int); 
    wp = sp; 
     } 
 
    try 
        { 
        std::shared_ptr<int> sp1(wp); // weak_ptr has expired 
        } 
    catch (const std::bad_weak_ptr&) 
        { 
        std::cout << "bad weak pointer" << std::endl; 
        } 
    catch (...) 
        { 
        std::cout << "unknown exception" << std::endl; 
        } 
 
    return (0); 
    } 
 
  

必要条件

ヘッダー: <memory>

名前空間: std

参照

関連項目

weak_ptr クラス

その他の技術情報

<memory> メンバー