다음을 통해 공유


is_nothrow_copy_assignable 클래스(STL)

할당 시 형식에서 throw가 발생하지 않는지 여부를 테스트합니다.

template<class Ty>
    struct has_nothrow_assign;

매개 변수

  • Ty
    형식이 쿼리입니다.

설명

형식 조건자의 인스턴스는 형식 Ty에 nothrow 복사 할당 연산자가 있는 경우 true이고 그렇지 않은 경우 false입니다.

nothrow 함수는 throw 지정자가 비어 있는 함수이거나 예외를 throw하지 않는 것으로 컴파일러에서 확인되는 함수입니다.

예제

 

// std_tr1__type_traits__has_nothrow_assign.cpp 
// compile with: /EHsc 
#include <type_traits> 
#include <iostream> 
 
struct trivial 
    { 
    int val; 
    }; 
 
struct throws 
    { 
    throws() throw(int) 
        { 
        } 
 
    throws(const throws&) throw(int) 
        { 
        } 
 
    throws& operator=(const throws&) throw(int) 
        { 
        } 
 
    int val; 
    }; 
 
int main() 
    { 
    std::cout << "has_nothrow_assign<trivial> == " << std::boolalpha 
        << std::has_nothrow_assign<trivial>::value << std::endl; 
    std::cout << "has_nothrow_assign<throws> == " << std::boolalpha 
        << std::has_nothrow_assign<throws>::value << std::endl; 
 
    return (0); 
    } 
 
            
          

요구 사항

헤더: <type_traits>

네임스페이스: std

참고 항목

참조

<type_traits>