¿Por qué std :: is_const :: value 'false' a pesar de que value_type de T es const?
#include <type_traits>
struct foo;
int main()
{
const foo *bar;
static_assert(std::is_const<decltype(*bar)>::value,
"expected const but this is non-const!");
}
Esto resulta en una fallastatic_assert
lo cual es inesperado Esto es algo similar aesta pregunta en referencias constantes pero no exactamente lo mismo.
En mi caso, desreferenciarbar
debería dar una instancia deconst foo
como su tipo pero aúnstd::is_const
está diciendo lo contrario.