std::conditional
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<bool B, class T, class F > struct conditional; | (seit C++11) | |
Bietet Mitglied typedef
type
, die als T
definiert wird, wenn B
ist true Zeitpunkt der Kompilierung, oder als F
wenn B
ist false .Original:
Provides member typedef
type
, which is defined as T
if B
is true at compile time, or as F
if B
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 |
[Bearbeiten]Mitglied Typen
Mitglied Typ Original: Member type The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. | Definition |
type | T if B ==true, F if B ==false |
[Bearbeiten]Mögliche Implementierung
template<bool B, class T, class F>struct conditional {typedef T type;}; template<class T, class F>struct conditional<false, T, F>{typedef F type;}; |
[Bearbeiten]Beispiel
#include <iostream>#include <type_traits>#include <typeinfo> int main(){typedef std::conditional<true, int, double>::type Type1;typedef std::conditional<false, int, double>::type Type2;typedef std::conditional<sizeof(int)>= sizeof(double), int, double>::type Type3; std::cout<<typeid(Type1).name()<<'\n';std::cout<<typeid(Type2).name()<<'\n';std::cout<<typeid(Type3).name()<<'\n';}
Output:
i d d
[Bearbeiten]Siehe auch
(C++11) | verbirgt sich eine Funktion Überlast oder Vorlage Spezialisierung auf compile-time boolean basiert Original: hides a function overload or template specialization based on compile-time boolean The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. (Klassen-Template) |