Namespaces
Variants

std::copyable_function::operator=

cppreference.net에서
 
 
유틸리티 라이브러리
일반 유틸리티
관계 연산자 (C++20에서 폐지됨)
정수 비교 함수
(C++20)(C++20)(C++20)    
(C++20)
Swap 및 타입 연산
(C++14)
(C++11)
(C++11)
(C++11)
(C++17)
공통 어휘 타입
(C++11)
(C++17)
(C++17)
(C++17)
(C++11)
(C++17)
(C++23)



 
함수 객체
함수 호출
(C++17)(C++23)
항등 함수 객체
(C++20)
투명 연산자 래퍼
(C++14)
(C++14)
(C++14)
(C++14)  
(C++14)
(C++14)
(C++14)
(C++14)
(C++14)
(C++14)
(C++14)
(C++14)
(C++14)

이전 바인더와 어댑터
(C++17까지*)
(C++17까지*)
(C++17까지*)
(C++17까지*)  
(C++17까지*)
(C++17까지*)(C++17까지*)(C++17까지*)(C++17까지*)
(C++20까지*)
(C++20까지*)
(C++17까지*)(C++17까지*)
(C++17까지*)(C++17까지*)

(C++17까지*)
(C++17까지*)(C++17까지*)(C++17까지*)(C++17까지*)
(C++20까지*)
(C++20까지*)
 
 
copyable_function& operator=( const copyable_function& other );
(1) (C++26부터)
copyable_function& operator=( copyable_function&& other );
(2) (C++26부터)
copyable_function& operator=( std::nullptr_t ) noexcept;
(3) (C++26부터)
template< class F >
copyable_function& operator=( F&& f );
(4) (C++26부터)

std::copyable_function에 새 대상을 할당하거나 그 대상을 소멸시킵니다.

1) other의 대상 복사본을 *this에 할당합니다. auto(other).swap(*this)를 실행하는 것과 같습니다.
2) other의 대상을 *this으로 이동시키거나, *this가 비어 있으면 그 대상을 소멸시킵니다. other을(를) 통해 수행됩니다. auto(std::move(other)).swap(*this) other은 이동 할당 후 지정되지 않은 값을 가진 유효한 상태입니다.
3) 현재 대상이 있으면 소멸시킵니다. 호출 후 *this은 비어 있습니다.
4) *this의 대상을 호출 가능한 f로 설정하거나, f이 널 함수 포인터, 널 멤버 함수 포인터 또는 빈 std::copyable_function인 경우 현재 대상을 소멸시킵니다. copyable_function(std::forward<F>(f)).swap(*this);을 실행하는 것과 같습니다. 이 오버로드는 copyable_function의 생성자가 F에서 오버로드 해결에 참여하는 경우에만 오버로드 해결에 참여합니다. 선택된 생성자 호출이 잘못된 형식이거나 정의되지 않은 동작이 있는 경우 프로그램은 잘못된 형식이거나 정의되지 않은 동작을 가집니다.

매개변수

other - 대상의 복사 또는 이동을 위한 또 다른 std::copyable_function 객체
f - 새로운 대상을 초기화하기 위한 호출 가능 객체

반환값

* this

예제

참고 항목

새로운 대상을 할당
( std::function<R(Args...)> 의 public 멤버 함수)
대상을 교체하거나 파괴
( std::move_only_function 의 public 멤버 함수)