Udostępnij za pośrednictwem


has_trivial_assign — Klasa

Przypisz sprawdza, czy typ został uproszczony.

template<class Ty>
    struct has_trivial_assign;

Parametry

  • Ty
    Typ kwerendy.

Uwagi

Wystąpienie typu predykat posiada wartość PRAWDA, jeśli typ Ty jest klasą, która ma trivial operator przypisania, inaczej przechowuje wartość false.

Operator przypisania kopii dla klasy Ty jest trivial jeśli:

jest deklarowany niejawnie

Klasa Ty nie ma wirtualnego funkcji

Klasa Ty ma nie baz wirtualnych

wszystkie bezpośrednie podstawy klasy Ty mieć kopię trivial operatory przypisania

klasy wszystkich członków danych statycznych typu klasy mają operatory przypisania trivial kopii

klasy wszystkich członków danych statycznych typu tablicy klasy mają operatory przypisania trivial kopii

Przykład

 

// std_tr1__type_traits__has_trivial_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_trivial_assign<trivial> == " << std::boolalpha 
        << std::has_trivial_assign<trivial>::value << std::endl; 
    std::cout << "has_trivial_assign<throws> == " << std::boolalpha 
        << std::has_trivial_assign<throws>::value << std::endl; 
 
    return (0); 
    } 
 
  

Wymagania

Nagłówek: <type_traits>

Przestrzeń nazw: std

Zobacz też

Informacje

<type_traits>

has_nothrow_assign — Klasa

Inne zasoby

<type_traits> Członkowie