std::shared_ptr<T>::operator bool - cppreference.com
提供: cppreference.com
<tbody> </tbody>
|
|
||
*this が非ヌルなポインタを格納している、すなわち get() != nullptr かどうかを調べます。
引数
(なし)
戻り値
*this がポインタを格納していれば true、そうでなければ false。
ノート
空 (use_count() == 0) の shared_ptr が get() でアクセス可能な非ヌルのポインタを格納している場合があります。 例えば、エイリアシングコンストラクタを使用して、そのような shared_ptr を作ることができます。
例
#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