std::is_empty
Aus cppreference.com
![]() | This page has been machine-translated from the English version of the wiki using Google Translate. The translation may contain errors and awkward wording. Hover over text to see the original version. You can help to fix errors and improve the translation. For instructions click here. |
definiert in Header <type_traits> | ||
template<class T > struct is_empty; | (seit C++11) | |
Wenn
T
en leere Typ (das heißt, ein nicht gewerkschaftlich Klasse Typ ohne nicht-statische anderen Mitgliedern als Bit-Felder der Größe 0, keine virtuellen Funktionen, keine virtuellen Basisklassen, und keine nicht-leeren Basisklassen) ist, bietet das Mitglied konstanten value
gleich true. Für jede andere Art, value
ist false .Original:
If
T
is en empty type (that is, a non-union class type with no non-static members other than bit-fields of size 0, no virtual functions, no virtual base classes, and no non-empty base classes), provides the member constant value
equal true. For any other type, value
is false.The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
You can help to correct and verify the translation. Click here for instructions.
Inhaltsverzeichnis |
Inherited from std::integral_constant
Member constants
value [statisch] | true wenn T is an empty class type , false anders Original: true if T is an empty class type , false otherwise The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. (public static Mitglied konstanten) |
Member functions
operator bool | wandelt das Objekt bool, gibt value Original: converts the object to bool, returns value The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. (öffentliche Elementfunktion) |
Member types
Type Original: Type The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. | Definition |
value_type | bool |
type | std::integral_constant<bool, value> |
[Bearbeiten]Notes
sizeof(T) immer 1 zurück, wenn
T
leer ist, sondern erbt von leeren Basisklassen in der Regel nicht die Größe einer Klasse wegen leerer Sockel Optimierung .Original:
sizeof(T) always returns 1 if
T
is empty, but inheriting from empty base classes usually does not increase the size of a class due to empty base optimization.The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
You can help to correct and verify the translation. Click here for instructions.
std::is_empty<T> und alle anderen Exterieur sind leer Klassen .
Original:
std::is_empty<T> and all other type traits are empty classes.
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
You can help to correct and verify the translation. Click here for instructions.
[Bearbeiten]Beispiel
#include <iostream>#include <type_traits> struct A {}; struct B {int m;}; struct C {virtual ~C();}; int main(){std::cout<<std::boolalpha;std::cout<< std::is_empty<A>::value<<'\n';std::cout<< std::is_empty<B>::value<<'\n';std::cout<< std::is_empty<C>::value<<'\n';}
Output:
true false false
[Bearbeiten]Siehe auch
(C++11) | checks if a type is a class type (but not union type) (Klassen-Template) |