Используемый случай указателя на массив с неопределенными границами в C ++ (не в C)

Рассмотрим следующий код:

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;
}

В чистом C вы можете назначить указатель на этот тип адреса массива любого измерения. Но в C ++ вы не можете. Я нашел один случай, когда компилятор позволяет присваивать значение такому указателю:

struct C
{
    static int v[];
};

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

Но не смог найти ни одного полезного случая этого кода.

Может ли кто-нибудь привести полезный пример (в C ++) указателя на массив с неопределенными границами? Или это только остаток, оставшийся от C?

Ответы на вопрос(2)

Ваш ответ на вопрос