Namensräume
Varianten
Aktionen

std::is_standard_layout

Aus cppreference.com
< cpp‎ | types

 
 
 
Geben Sie Unterstützung
Grundtypen
Original:
Basic types
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
Grundtypen
Feste Breite Integer-Typen (C++11)
Numerische Grenzen
Original:
Numeric limits
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
numeric_limits
C numerische begrenzt Schnittstelle
Laufzeit-Typinformationen
Original:
Runtime type information
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
Exterieur
Original:
Type traits
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
Primären Typ Kategorien
Original:
Primary type categories
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
is_void(C++11)
is_array(C++11)
is_pointer(C++11)
is_enum(C++11)
is_union(C++11)
is_class(C++11)
is_function(C++11)
is_object(C++11)
is_scalar(C++11)
is_compound(C++11)
is_integral(C++11)
is_floating_point(C++11)
is_fundamental(C++11)
is_arithmetic(C++11)
is_reference(C++11)
is_lvalue_reference(C++11)
is_rvalue_reference(C++11)
is_member_pointer(C++11)
is_member_object_pointer(C++11)
is_member_function_pointer(C++11)
Typ Eigenschaften
Original:
Type properties
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
is_const(C++11)
is_volatile(C++11)
is_pod(C++11)
is_empty(C++11)
is_polymorphic(C++11)
is_abstract(C++11)
is_trivial(C++11)
is_trivially_copyable(C++11)
is_standard_layout(C++11)
is_literal_type(C++11)
is_signed(C++11)
is_unsigned(C++11)
Unterstützte Operationen
Original:
Supported operations
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
is_constructible
is_trivially_constructible
is_nothrow_constructible
(C++11)
(C++11)
(C++11)
is_default_constructible
is_trivially_default_constructible
is_nothrow_default_constructible
(C++11)
(C++11)
(C++11)
is_copy_constructible
is_trivially_copy_constructible
is_nothrow_copy_constructible
(C++11)
(C++11)
(C++11)
is_move_constructible
is_trivially_move_constructible
is_nothrow_move_constructible
(C++11)
(C++11)
(C++11)
is_assignable
is_trivially_assignable
is_nothrow_assignable
(C++11)
(C++11)
(C++11)
is_copy_assignable
is_trivially_copy_assignable
is_nothrow_copy_assignable
(C++11)
(C++11)
(C++11)
is_move_assignable
is_trivially_move_assignable
is_nothrow_move_assignable
(C++11)
(C++11)
(C++11)
is_destructible
is_trivially_destructible
is_nothrow_destructible
(C++11)
(C++11)
(C++11)
has_virtual_destructor(C++11)
Beziehungen und Eigentum Abfragen
Original:
Relationships and property queries
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
is_same(C++11)
is_base_of(C++11)
is_convertible(C++11)
alignment_of(C++11)
rank(C++11)
extent(C++11)
Typ Modifikationen
Original:
Type modifications
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
remove_cv
remove_const
remove_volatile
(C++11)
(C++11)
(C++11)
add_cv
add_const
add_volatile
(C++11)
(C++11)
(C++11)
make_signed(C++11)
make_unsigned(C++11)
Typ Transformationen
Original:
Type transformations
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
aligned_storage(C++11)
aligned_union(C++11)
decay(C++11)
enable_if(C++11)
conditional(C++11)
common_type(C++11)
underlying_type(C++11)
result_of(C++11)
Typ-Trait-Konstanten
Original:
Type trait constants
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
integral_constant(C++11)
 
Defined in header <type_traits>
template< class T >
struct is_standard_layout;
(seit C++11)
Wenn T ein Standard-Tastaturbelegung (das heißt, eine skalare Typ, ein Standard-Layout-Klasse, oder ein Array solcher Art / Klasse, möglicherweise cv-qualifiziert) ist, stellt das Mitglied konstanten value gleich true. Für jede andere Art, value ist false .
Original:
If T is a standard layout type (that is, a scalar type, a standard-layout class, or an array of such type/class, possibly cv-qualified), 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.
Ein Standard-Layout-Klasse ist eine Klasse,
Original:
A standard-layout class is a class that
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
Ein. hat keine nicht-statische Datenelemente, die nicht Standard-Layout
Original:
1. has no non-static data members that aren't standard-layout
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
2. hat keine virtuellen Funktionen und keine virtuellen Basisklassen
Original:
2. has no virtual functions and no virtual base classes
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
3. hat den gleichen Zugang zur Steuerung aller nicht-statische Datenelemente
Original:
3. has the same access control for all non-static data members
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
4. hat keine Basisklassen, die nicht Standard-Layout
Original:
4. has no base classes that aren't standard-layout
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
5. hat entweder keine Basisklasse mit nicht-statische Datenelemente oder hat keine nicht-statische Datenelemente in den meisten abgeleiteten Klasse und nur eine Basis mit ihnen
Original:
5. either has no base class with non-static data members or has no non-static data members in the most derived class and only one base with them
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
6. hat keine Basisklassen des gleichen Typs wie das erste nicht-statisches Datenelement
Original:
6. has no base classes of the same type as the first non-static data member
The text has been machine-translated via Google Translate.
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 a standard-layout type , false anders
Original:
true if T is a standard-layout 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

Ein Zeiger auf eine Standard-Layout-Klasse kann umgewandelt (mit reinterpret_cast) auf einen Zeiger auf sein erstes nicht-statische Daten Mitglied werden und umgekehrt .
Original:
A pointer to a standard-layout class may be converted (with reinterpret_cast) to a pointer to its first non-static data member and vice versa.
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
Wenn ein Standard-Layout union hält zwei oder mehr Standard-Layout-Strukturen, ist es erlaubt, den gemeinsamen ersten Teil von ihnen untersuchen .
Original:
If a standard-layout union holds two or more standard-layout structs, it is permitted to inspect the common initial part of them.
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
Das Makro offsetof kann nur mit Standard-Layout-Klassen verwendet werden .
Original:
The macro offsetof can only be used with standard-layout classes.
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.

[Bearbeiten] Beispiel

#include <iostream>
#include <type_traits>
 
struct A {
    int m;
};
 
struct B {
    int m1;
private:
    int m2;
};
 
struct C {
    virtual void foo();
};
 
int main()
{
    std::cout << std::boolalpha;
    std::cout << std::is_standard_layout<A>::value << '\n';
    std::cout << std::is_standard_layout<B>::value << '\n';
    std::cout << std::is_standard_layout<C>::value << '\n';
}

Output:

true
false
false

[Bearbeiten] Siehe auch

checks if a type is trivially copyable
(Klassen-Template) [edit]
(C++11)
prüft, ob ein Typ ist plain-old-Daten (POD)-Typ
Original:
checks if a type is plain-old data (POD) type
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.

(Klassen-Template) [edit]
Abstand zwischen dem Beginn eines Standard-Layout-Typs und der benannten Member-Variable in Byte
Original:
byte offset from the beginning of a standard-layout type to specified member
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.

(funktionieren Makro) [edit]