std::shared_ptr<T>::operator bool
提供: cppreference.com
<tbody>
</tbody>
explicit operator bool() const noexcept; |
||
*this が非ヌルなポインタを格納している、すなわち get() != nullptr かどうかを調べます。
引数
(なし)
戻り値
*this がポインタを格納していれば true、そうでなければ false。
ノート
空 (use_count() == 0) の shared_ptr が get() でアクセス可能な非ヌルのポインタを格納している場合があります。 例えば、エイリアシングコンストラクタを使用して、そのような shared_ptr を作ることができます。
例
Run this code
#include <iostream>
#include <memory>
void report(std::shared_ptr<int> ptr)
{
if (ptr) {
std::cout << "*ptr=" << *ptr << "\n";
} else {
std::cout << "ptr is not a valid pointer.\n";
}
}
int main()
{
std::shared_ptr<int> ptr;
report(ptr);
ptr = std::make_shared<int>(7);
report(ptr);
}
出力:
ptr is not a valid pointer.
*ptr=7
関連項目
| 格納されているポインタを返します (パブリックメンバ関数) |