std::bad_weak_ptr
提供: cppreference.com
ヘッダ <memory> で定義 | ||
class bad_weak_ptr; | (C++11以上) | |
std::bad_weak_ptr
は、 std::weak_ptr がすでに削除されたオブジェクトを参照しているとき、引数として std::weak_ptr を取る std::shared_ptr のコンストラクタによって、例外として投げられるオブジェクトの型です。
目次 |
[編集]メンバ関数
コンストラクタ | bad_weak_ptr オブジェクトを構築します (パブリックメンバ関数) |
std::bad_weak_ptr ::bad_weak_ptr()
bad_weak_ptr()noexcept; | ||
std::bad_weak_ptr
の新しいインスタンスを構築します。 what()
は処理系定義のヌル終端バイト文字列を返します。
引数
(なし)
std::exception から継承
メンバ関数
[仮想] | 例外オブジェクトを破棄します ( std::exception の仮想パブリックメンバ関数) |
[仮想] | 説明文字列を返します ( std::exception の仮想パブリックメンバ関数) |
[編集]例
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';}}
出力:
std::bad_weak_ptr
[編集]関連項目
(C++11) | 共有オブジェクト所有権のセマンティクスを持つスマートポインタ (クラステンプレート) |
(C++11) | std::shared_ptr によって管理されているオブジェクトへの弱参照 (クラステンプレート) |