Movatterモバイル変換


[0]ホーム

URL:


cppreference.com
Namespaces
Variants
    Actions

      std::swap(std::function)

      From cppreference.com
      <cpp‎ |utility‎ |functional‎ |function
       
       
      Utilities library
       
      Function objects
      Function invocation
      (C++17)(C++23)
      Identity function object
      (C++20)
      Old binders and adaptors
      (until C++17*)
      (until C++17*)
      (until C++17*)
      (until C++17*)  
      (until C++17*)
      (until C++17*)(until C++17*)(until C++17*)(until C++17*)
      (until C++20*)
      (until C++20*)
      (until C++17*)(until C++17*)
      (until C++17*)(until C++17*)

      (until C++17*)
      (until C++17*)(until C++17*)(until C++17*)(until C++17*)
      (until C++20*)
      (until C++20*)
       
       
      Defined in header<functional>
      template<class R,class...Args>
      void swap(std::function<R(Args...)>& lhs,std::function<R(Args...)>& rhs)noexcept;
      (since C++11)

      Overloads thestd::swap algorithm forstd::function. Exchanges the state oflhs with that ofrhs. Effectively callslhs.swap(rhs).

      Contents

      [edit]Parameters

      lhs, rhs - polymorphic function wrappers whose states to swap

      [edit]Return value

      (none)

      [edit]Example

      Run this code
      #include <functional>#include <iostream> void foo(constchar* str,int x){std::cout<<"foo(\""<< str<<"\", "<< x<<")\n";} void bar(constchar* str,int x){std::cout<<"bar(\""<< str<<"\", "<< x<<")\n";} int main(){std::function<void(constchar*,int)> f1{foo};std::function<void(constchar*,int)> f2{bar};     f1("f1",1);    f2("f2",2); std::cout<<"std::swap(f1, f2);\n";std::swap(f1, f2);     f1("f1",1);    f2("f2",2);}

      Output:

      foo("f1", 1)bar("f2", 2)std::swap(f1, f2);bar("f1", 1)foo("f2", 2)

      [edit]Defect reports

      The following behavior-changing defect reports were applied retroactively to previously published C++ standards.

      DRApplied toBehavior as publishedCorrect behavior
      LWG 2062C++11overload ofswap forfunction was not required to be noexceptrequired

      [edit]See also

      swaps the contents
      (public member function)[edit]
      specializes thestd::swap algorithm
      (function)[edit]
      Retrieved from "https://en.cppreference.com/mwiki/index.php?title=cpp/utility/functional/function/swap2&oldid=160666"

      [8]ページ先頭

      ©2009-2025 Movatter.jp