Espaces de noms
Variantes
Affichages
Actions

std::is_standard_layout

De cppreference.com
< cpp‎ | types

 
 
 
Soutien aux types fondamentaux
Les types de base
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.
Types fondamentaux
Fixe les types entiers largeur (C++11)
Limites numériques
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 numérique limite interface
Informations sur le type d'exécution
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.
Caractères de type
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.
Catégories de type primaire
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)
Les propriétés du type
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)
Opérations prises en charge
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)
Les relations et les requêtes de propriété
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)
Modifications de type
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)
Transformations de type
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)
Tapez constantes traits
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;
(depuis C++11)
Si T est un type de modèle standard (c'est à dire un type scalaire, une classe standard, mise en page, ou un tableau de ce type / classe, peut-cv-qualifié), fournit du membre de constante value true égale. Pour tout autre type, value est 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.
Une classe standard-layout est une classe qui
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.
1. n'a pas de membres de données non statiques qui ne sont pas 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. n'a pas de fonctions virtuelles et pas de classes de base virtuelles
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. a le contrôle d'accès même pour tous les membres de données non statiques
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. a pas de classes de base qui ne sont pas standard de présentation
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. soit n'a pas de classe de base avec les membres de données non statiques ou n'a pas de membres non statiques de données dans la classe la plus dérivée et une seule base avec eux
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. n'a pas de classes de base de même type que le premier élément non-statique de données
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.

Sommaire

Inherited from std::integral_constant

Member constants

value
[
statique
Original:
static
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
]
true si T is a standard-layout type , false autrement
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.

(constante membre statique publique)

Member functions

operator bool
convertit l'objet en bool, retourne 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.

(fonction membre publique)

Member types

Type d'
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>

[modifier] Notes

Un pointeur vers une classe standard-layout peut être converti (avec reinterpret_cast) à un pointeur vers son premier non-membre de données statiques et vice versa .
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.
Si un syndicat standard mise en page contient deux ou plusieurs normes de mise structures, il est permis d'inspecter la partie initiale commune d'entre eux .
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.
Le offsetof macro ne peut être utilisé à la norme-layout des classes .
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.

[modifier] Exemple

#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';
}

Résultat :

true
false
false

[modifier] Voir aussi

checks if a type is trivially copyable
(classe générique) [edit]
(C++11)
vérifie si un type est un "plain-old data" (POD)
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.

(classe générique) [edit]
décalage d'octet à partir du début d'un type standard à disposition élément spécifié
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.

(fonction macro) [edit]