if(typeid(int) == typeid(const int))
cout << "Same types"<< endl;
CHƯƠNG TRÌNH OUTPUT:lợi nhuận tại sao typeid rằng int và const int là cùng một loại
loại Cùng
là tôi thiếu cái gì? đây không phải là các loại cùng loại lol.
if(typeid(int) == typeid(const int))
cout << "Same types"<< endl;
CHƯƠNG TRÌNH OUTPUT:lợi nhuận tại sao typeid rằng int và const int là cùng một loại
loại Cùng
là tôi thiếu cái gì? đây không phải là các loại cùng loại lol.
Chúng không cùng loại, nhưng dải điều khiển typeid
const
và volatile
.
Từ phần 5.2.8 [expr.typeid]
:
Các cấp cao nhất cv-vòng loại của biểu thức glvalue hoặc loại-id đó là toán hạng của
typeid
luôn bỏ qua.
Bạn có thể muốn điều này thay vì:
#include <type_traits>
if (std::is_same<int, const int>::value)
std::cout << "same types\n";
else
std::cout << "different types\n";