if(typeid(int) == typeid(const int))
cout << "Same types"<< endl;
PROGRAMMA DI USCITA:rendimenti perché TypeId che int e const int sono gli stessi tipi
stessi tipi
mi sto perdendo qualcosa? questi non sono gli stessi tipi lol.
if(typeid(int) == typeid(const int))
cout << "Same types"<< endl;
PROGRAMMA DI USCITA:rendimenti perché TypeId che int e const int sono gli stessi tipi
stessi tipi
mi sto perdendo qualcosa? questi non sono gli stessi tipi lol.
Non sono dello stesso tipo, ma le strisce operatore typeid
const
e volatile
.
Dalla sezione 5.2.8 [expr.typeid]
:
Il primo livello CV-qualificazioni dell'espressione glvalue o il tipo -id che è l'operando di
typeid
sono sempre ignorati.
Probabilmente si desidera questo, invece:
#include <type_traits>
if (std::is_same<int, const int>::value)
std::cout << "same types\n";
else
std::cout << "different types\n";