Movatterモバイル変換


[0]ホーム

URL:


cppreference.com
Namespaces
Variants
    Actions

      std::shared_ptr<T>::operator bool

      From cppreference.com
      <cpp‎ |memory‎ |shared ptr
       
       
      Memory management library
      (exposition only*)
      Allocators
      Uninitialized memory algorithms
      Constrained uninitialized memory algorithms
      Memory resources
      Uninitialized storage(until C++20)
      (until C++20*)
      (until C++20*)
      Garbage collector support(until C++23)
      (C++11)(until C++23)
      (C++11)(until C++23)
      (C++11)(until C++23)
      (C++11)(until C++23)
      (C++11)(until C++23)
      (C++11)(until C++23)
       
      std::shared_ptr
      Member functions
      Modifiers
      Observers
      (until C++20*)
      shared_ptr::operator bool
      Non-member functions
      (until C++20)(until C++20)(until C++20)(until C++20)(until C++20)(C++20)
      functions(until C++26*)
      Helper classes
      Deduction guides(C++17)
       
      explicit operatorbool()constnoexcept;

      Checks if*this stores a non-null pointer, i.e. whetherget()!= nullptr.

      Contents

      [edit]Parameters

      (none)

      [edit]Return value

      true if*this stores a pointer,false otherwise.

      [edit]Notes

      An empty shared_ptr (whereuse_count()==0) may store a non-null pointer accessible byget(), e.g. if it were created using the aliasing constructor.

      [edit]Example

      Run this code
      #include <iostream>#include <memory> void report(std::shared_ptr<int> ptr){if(ptr)std::cout<<"*ptr="<<*ptr<<"\n";elsestd::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);}

      Output:

      ptr is not a valid pointer.*ptr=7

      [edit]See also

      returns the stored pointer
      (public member function)[edit]
      Retrieved from "https://en.cppreference.com/mwiki/index.php?title=cpp/memory/shared_ptr/operator_bool&oldid=153791"

      [8]ページ先頭

      ©2009-2025 Movatter.jp