std::experimental::weak_ptr<T>:: weak_ptr
From cppreference.net
<
cpp
|
experimental
|
weak ptr
|
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>
の公開メンバ関数)
|