◐ Shell
clean mode source ↗

std::is_same — cppreference.com

De cppreference.com

<metanoindex/>

<tbody> </tbody>

Déclaré dans l'en-tête

<type_traits>

template< class T, class U > struct is_same;

(depuis C++11)

Si T et le nom U du même type avec les mêmes qualifications const volatile, fournit du membre de constante égale à value true. Sinon value est false .

Original:

If T and U name the same type with the same const-volatile qualifications, provides the member constant value equal to true. Otherwise 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.
You can help to correct and verify the translation. Click here for instructions.

]

true si T and U is the same type , false autrement

Original:

true if T and U is the same 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

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>

Mise en œuvre possible

template<class T, class U>
struct is_same : std::false_type {};

template<class T>
struct is_same<T, T> : std::true_type {};

Exemple

#include <iostream>
#include <type_traits>
#include <cstdint>

int main()
{
    std::cout << std::boolalpha;
    std::cout << std::is_same<int, int32_t>::value << '\n';
    std::cout << std::is_same<int, int64_t>::value << '\n';
    std::cout << std::is_same<float, int32_t>::value << '\n';
}

Résultat :

Voir aussi