Потому что в этом нет ничего плохого?
Одинаковые типы на обеих сторонах: int *ptr=&i;
Больше констант, совершенно нормально: int const *ptr_1=&i;
Точно так же, какстрока выше: const int *ptr_2=&i;
Больше констант, совершенно нормально: const int * const ptr_3=&i;
Вы всегда можете сделать переменную больше констант.
int const * i;
int * j = i;
Приведенное выше значение j меньше const и недействительно.
4.4 / 1: (охватывает int *
до int const *
)
Значениетипа «указатель на cv1 T» может быть преобразован в значение типа «указатель на cv2 T», если «cv2 T» более квалифицирован для cv, чем «cv1 T».