std::is_polymorphic — cppreference.com
De cppreference.com
<metanoindex/>
<tbody> </tbody>
| Déclaré dans l'en-tête <type_traits> |
||
|
|
(depuis C++11) | |
Si T est une classe polymorphe (c'est à dire une classe qui hérite déclare ou au moins une fonction virtuelle), fournit du membre de constante value true égale. Pour tout autre type, value est false .
Original:
If T is a polymorphic class (that is, a class that declares or inherits at least one virtual function), 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.
Inherited from std::integral_constant
Member constants
value [ statique Original: static The text has been machine-translated via Google Translate. |
Original:
The text has been machine-translated via Google Translate. (constante membre statique publique) |
Member functions
convertit l'objet en Original: converts the object to The text has been machine-translated via Google Translate. (fonction membre publique) | |
Member types
Type d' Original: Type The text has been machine-translated via Google Translate. |
Definition |
value_type
|
bool
|
type
|
std::integral_constant<bool, value>
|
Notes
Seules les classes polymorphes contiennent caché des informations RTTI qui permet d'examiner et de les convertir avec
dynamic_cast.
Original:
Only polymorphic classes contain hidden RTTI information which makes it possible to examine and convert them with
dynamic_cast.
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
Exemple
#include <iostream> #include <type_traits> struct A { int m; }; struct B { virtual void foo(); }; struct C : B {}; int main() { std::cout << std::boolalpha; std::cout << std::is_polymorphic<A>::value << '\n'; std::cout << std::is_polymorphic<B>::value << '\n'; std::cout << std::is_polymorphic<C>::value << '\n'; }
Résultat :
Voir aussi
| checks if a type is a class type (but not union type) (classe générique) [edit] | |
vérifie si un type est le type de classe abstraite Original: checks if a type is abstract class type The text has been machine-translated via Google Translate. (classe générique) [edit] | |