Movatterモバイル変換


[0]ホーム

URL:


cppreference.com
Namespaces
Variants
    Actions

      std::shared_ptr<T>::unique

      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
      shared_ptr::unique
      (until C++20*)
      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)
       
      bool unique()constnoexcept;
      (deprecated in C++17)
      (removed in C++20)

      Checks if*this is the onlyshared_ptr instance managing the current object, i.e. whetheruse_count()==1.

      Contents

      [edit]Parameters

      (none)

      [edit]Return value

      true if*this is the onlyshared_ptr instance managing the current object,false otherwise.

      [edit]Notes

      This function was deprecated in C++17 and removed in C++20 becauseuse_count()==1 is meaningless in multithreaded environment (seeNotes inuse_count).

      [edit]Example

      Run this code
      #include <iostream>#include <memory> int main(){auto sp1=std::make_shared<int>(5);std::cout<<std::boolalpha;std::cout<<"sp1.unique() == "<< sp1.unique()<<'\n';  std::shared_ptr<int> sp2= sp1;std::cout<<"sp1.unique() == "<< sp1.unique()<<'\n';}

      Output:

      sp1.unique() == truesp1.unique() == false

      [edit]See also

      returns the number ofshared_ptr objects referring to the same managed object
      (public member function)[edit]
      Retrieved from "https://en.cppreference.com/mwiki/index.php?title=cpp/memory/shared_ptr/unique&oldid=174895"

      [8]ページ先頭

      ©2009-2025 Movatter.jp