Информация об изменениях

Сообщение Re[3]: char *(*(**foo[][8])())[]; - за сколько распарсите? от 20.04.2023 9:09

Изменено 20.04.2023 10:39 rg45

Re[3]: char *(*(**foo[][8])())[]; - за сколько распарсите?
Здравствуйте, Shmj, Вы писали:

S>Можно попросить вас обновить код, а то не доступно по вашей ссылке.


Пожалуйста: http://coliru.stacked-crooked.com/a/07a5c77c99110987

char*(*(**[][8])())[]

array of unspecified size of array [8] of pointer to pointer to function without parameters returning pointer to array of unspecified size of pointer to char


P.S. Если захочется с этим поиграться, то, возможно тебе придется расширять набор специализаций. Думаю, это будет не очень сложно — по образу и подобию.

P.P.S. Ну и что хочется заметить, что сложность объявлений в C/C++ не является открытием и прямо вот в таком виде в промышленном коде никто такие конструкции не употребляет. Благо есть алиасы типов с помощью которых коду можно придать удобочитаемый вид.
Re[3]: char *(*(**foo[][8])())[]; - за сколько распарсите?
Здравствуйте, Shmj, Вы писали:

S>Можно попросить вас обновить код, а то не доступно по вашей ссылке.


Пожалуйста: http://coliru.stacked-crooked.com/a/07a5c77c99110987

char*(*(**[][8])())[]

array of unspecified size of array [8] of pointer to pointer to function without parameters returning pointer to array of unspecified size of pointer to char


P.S. Если захочется с этим поиграться, то, возможно тебе придется расширять набор специализаций. Думаю, это будет не очень сложно — по образу и подобию.

P.P.S. Ну и что хочется заметить, что сложность объявлений в C/C++ не является открытием и прямо вот в таком виде в промышленном коде никто такие конструкции не употребляет. Благо есть алиасы типов с помощью которых коду можно придать удобочитаемый вид.

Вот такое нехитрое разложение:

    using A = char*[];
    using F = A*();
    using foo = F**[][8];