Movatterモバイル変換


[0]ホーム

URL:


cppreference.com
Namespaces
Variants
    Actions

      std::weak_ptr<T>::reset

      From cppreference.com
      <cpp‎ |memory‎ |weak 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)
       
       
      void reset()noexcept;
      (since C++11)

      Releases the reference to the managed object. After the call*this manages no object.

      Contents

      [edit]Parameters

      (none)

      [edit]Return value

      (none)

      [edit]Example

      Run this code
      #include <iostream>#include <memory> int main(){auto shared=std::make_shared<int>(), shared2= shared, shared3= shared2; auto weak=std::weak_ptr<int>{shared}; std::cout<<std::boolalpha<<"shared.use_count(): "<< shared.use_count()<<'\n'<<"weak.use_count(): "<< weak.use_count()<<'\n'<<"weak.expired(): "<< weak.expired()<<'\n';     weak.reset(); std::cout<<"weak.reset();\n"<<"shared.use_count(): "<< shared.use_count()<<'\n'<<"weak.use_count(): "<< weak.use_count()<<'\n'<<"weak.expired(): "<< weak.expired()<<'\n';}

      Output:

      shared.use_count(): 3weak.use_count(): 3weak.expired(): falseweak.reset();shared.use_count(): 3weak.use_count(): 0weak.expired(): true

      [edit]See also

      checks whether the referenced object was already deleted
      (public member function)[edit]
      Retrieved from "https://en.cppreference.com/mwiki/index.php?title=cpp/memory/weak_ptr/reset&oldid=153992"

      [8]ページ先頭

      ©2009-2025 Movatter.jp