ejemplos constint constantes c++ types const

c++ - constint - ¿Cuál es el equivalente de std:: is_const para referencias a const?



constantes en c++ ejemplos (1)

Use remove_reference :

#include <string> #include <iostream> #include <type_traits> using namespace std; int main() { int const x = 50; int const& y = x; cout << std::is_const<std::remove_reference<decltype(x)>::type>::value << endl; // 1 cout << std::is_const<std::remove_reference<decltype(y)>::type>::value << endl; // 1 return 0; }

Ver en coliru

Considera el código:

int const x = 50; int const& y = x; cout << std::is_const<decltype(x)>::value << endl; // 1 cout << std::is_const<decltype(y)>::value << endl; // 0

Esto tiene sentido, porque y no es una referencia const , es una referencia a una const .

¿Hay un foo tal que std::foo<decltype(y)>::value sea ​​1? Si no, ¿qué aspecto tendría definir el mío?