title: Multiple cv-decompositions of a type
body: <p>The example in <a href="http://eel.is/c++draft/conv.qual#1" rel="nofollow noreferrer">[conv.qual]/1</a> says that the type <code>const int **</code> has two cv-decompositions.</p>
  
  <blockquote>
    <p>A cv-decomposition of a type T is a sequence of cv_i and P_i such that T is </p>
    
    <p>“cv_0 P_0 cv_1 P_1 ⋯ cv_{n−1} P_{n−1} cv_n U”</p>
    
    <p>for n≥0, where each cv_i is a set of cv-qualifiers ([basic.type.qualifier]), and
    each P_i is “pointer to” ([dcl.ptr]), “pointer to member of class Ci of
    type” ([dcl.mptr]), “array of N_i”, or “array of unknown bound of”
    ([dcl.array]). If P_i designates an array, the cv-qualifiers cv_{i+1} on the element type are also taken as the cv-qualifiers cv_i of the array.
    [ Example: <strong>The type denoted by the type-id <code>const int **</code> has two cv-decompositions, taking U as “<code>int</code>” and as “pointer to <code>const int</code>”</strong>.
    — end example ]
    The n-tuple of cv-qualifiers after the first one in the longest cv-decomposition of T, that is, cv_1,cv_2,…,cv_n, is called the cv-qualification signature of T.</p>
  </blockquote>
  
  <p>Why the type does not have three decompositions, the third one with n=0, cv_0 empty and U="pointer to pointer to <code>const int</code>"?</p>