Поскольку const int *
является переменной , указатель на постоянное целое число .
std::is_const< int * const >::value
равно true
, поскольку тип является константным указателем на целое число переменной. const
привязывается к любому предшествующему, если только он не находится первым в спецификаторе типа. Я избегаю ставить его первым, чтобы не ссылаться на это "особое правило".
Указатели констант обычно представлены ссылками в C ++.
Чтобы получить информацию о указанном типе, используйте std::remove_pointer
.
std::is_const< typename std::remove_pointer< const int * >::type >::value
- это true
.