Namespaces
Variants

std::experimental::weak_ptr<T>:: weak_ptr

From cppreference.net
constexpr weak_ptr ( ) noexcept ;
(1) (ライブラリ基盤仕様 TS)
weak_ptr ( const weak_ptr & r ) noexcept ;
(2) (ライブラリ基盤仕様 TS)
template < class Y >
weak_ptr ( const weak_ptr < Y > & r ) noexcept ;
(2) (ライブラリ基盤仕様 TS)
template < class Y >
weak_ptr ( const std:: experimental :: shared_ptr < Y > & r ) noexcept ;
(2) (ライブラリ基盤仕様 TS)
weak_ptr ( weak_ptr && r ) noexcept ;
(3) (ライブラリ基盤仕様 TS)
template < class Y >
weak_ptr ( weak_ptr < Y > && r ) noexcept ;
(3) (ライブラリ基盤仕様 TS)

r が指すオブジェクトを共有する可能性のある新しい weak_ptr を構築します。

1) デフォルトコンストラクタ。空の weak_ptr を構築します。
2) r が管理するオブジェクトを共有する新しい weak_ptr を構築する。 r がオブジェクトを管理していない場合、 * this もオブジェクトを管理しない。テンプレート化されたオーバーロードは、 Y* T* に暗黙的に変換可能であるか、または Y がある型 U と数 N に対する「 N 個の U の配列」型であり、かつ T が「(possibly cv-qualified) U の未知のサイズの配列」型である場合を除き、オーバーロード解決に参加しない。
3) ムーブコンストラクタ。 weak_ptr インスタンスを r から * this へムーブする。この後、 r は空となり、 r. use_count ( ) == 0 となる。テンプレート化されたオーバーロードは、 Y* T* に暗黙的に変換可能であるか、または Y が何らかの型 U と数 N に対する「 N 個の U の配列」型であり、かつ T が「(possibly cv-qualified) U の未知のサイズの配列」型である場合を除き、オーバーロード解決に参加しない。

目次

パラメータ

r - この std::experimental::weak_ptr によって参照される std::experimental::shared_ptr または std::experimental::weak_ptr

例外

noexcept 仕様:
noexcept

関連項目

新しい weak_ptr を作成する
( std::weak_ptr<T> の公開メンバ関数)
weak_ptr を代入する
( std::weak_ptr<T> の公開メンバ関数)