Caso utilizável de ponteiro para matriz com limites não especificados em C ++ (não em C)

Considere o seguinte código:

int main() {
    int (*p)[]; // pointer to array with unspecified bounds

    int a[] = {1};
    int b[] = {1,2};

    p = &a; // works in C but not in C++
    p = &b; // works in C but not in C++

    return 0;
}

Em C puro, você pode atribuir um ponteiro para esse tipo de endereço de uma matriz de qualquer dimensão. Mas em C ++ você não pode. Eu encontrei um caso em que o compilador permite atribuir valor a esse ponteiro:

struct C
{
    static int v[];
};

int main() 
{
    int (*p)[] = &C::v; // works in C++ if 'v' isn't defined (only declared)
    return 0;
}

Mas não foi possível encontrar nenhum caso útil desse código.

Alguém pode dar um exemplo útil (em C ++) de ponteiro para matriz com limites não especificados? Ou é apenas um vestígio remanescente de C?

questionAnswers(2)

yourAnswerToTheQuestion