В разделе проект стандарта C++ N3337 [expr.const.cast]/8:
Следующие правила определяют процесс, известный как отбрасывание константности. В этих правилах Tn и Xn представляют типы. Для двух типов указателей:
X1 равно T1 cv1,1 * ⋯ cv1,N * где T1 не является указателем
X2 равно T2 cv2,1 * ⋯ cv2,M * где T2 не является типом указателя
K — мин. (N,M)
приведение от X1 к X2 отбрасывает константность, если для типа T без указателя не существует неявного преобразования (пункт конв.) из:
T cv1,(N-K+1) * cv1,(N-K< /em>+2) *⋯ cv1,Н *
to
T cv2,(M-K+1) * cv2,(M-K< /em>+2) *⋯ cv2,M *
Я не могу понять этот пункт, поэтому я искал соответствующий пункт в проекте стандарта C++ N4659, [expr.const.cast]/7< /а>:
Преобразование типа T1 в тип T2 отбрасывает константность, если T1 и T2 различны, существует cv-разложение T1, дающее n, такое что T2 имеет cv-decomposition вида
cv02P02 cv12P12 ⋯ cvn-12Pn-12 < em>cvn2 U2
и нет преобразования квалификации, которое преобразует T1 в
cv02P01 cv12P11 ⋯ cvn-12Pn-11 < em>cvn2 U1.
Но я до сих пор не могу понять отношения между T1,T2 и T. Помогите мне, кто может интерпретировать пункт?