名前空間
変種
操作

std::unique_ptr<T,Deleter>::operator bool

From cppreference.com
< cpp‎ | memory‎ | unique ptr
 
 
メモリ管理ライブラリ
(説明用*)
未初期化メモリのアルゴリズム
(C++17)
(C++17)
(C++17)
制約付き未初期化
メモリアルゴリズム
Cライブラリ

アロケータ
メモリリソース
ガベージコレクションのサポート
(C++11)(C++23まで)
(C++11)(C++23まで)
(C++11)(C++23まで)
(C++11)(C++23まで)
(C++11)(C++23まで)
(C++11)(C++23まで)
未初期化ストレージ
(C++20まで*)
(C++20まで*)
明示的な生存期間管理
 
 
explicit operator bool() const noexcept;
(C++11以降)
(C++23 以降 constexpr)

オブジェクトを所有しているか(つまり、get()nullptr でないか)をチェックします。

目次

[編集] パラメータ

(なし)

[編集] 戻り値

true: オブジェクトを所有している場合。false: それ以外の場合。

[編集]

#include <iostream>
#include <memory>
 
int main()
{
    std::unique_ptr<int> ptr(new int(42));
 
    if (ptr)
        std::cout << "before reset, ptr is: " << *ptr << '\n';
    ptr.reset();
    (ptr ? (std::cout << "after reset, ptr is: " << *ptr)
        : (std::cout << "after reset ptr is empty")) << '\n';
}

出力

before reset, ptr is: 42
after reset ptr is empty

[編集] 関連項目

管理対象オブジェクトへのポインタを返す
(public メンバ関数) [編集]
English 日本語 中文(简体) 中文(繁體)