Инструмент для расшифровки определения типов указателей функций C/C++

Я помню, как однажды видел веб-сайт, который расшифровывал сложные определения типов C++, включая указатели на функции, возвращающие указатели на функции, которые возвращают массив с …

Это превратило бы такие определения в удобочитаемый английский текст: «Указатель на функцию, возвращающий массив указателей int, принимающий в качестве параметров long и callback-функцию (принимающую int)». (что-то в этом роде)

typedef int * (*f)(long, void (*)(int))[];

Кто-нибудь помнит этот инструмент/веб-сайт? Любые подсказки с благодарностью


person knittl    schedule 22.06.2011    source источник
comment
Интересно, что cdecl barfs в объявлении вашего примера :-) Возможно, вы имели в виду int* (*f)(long, void (*)(int));, что переводится как declare f as pointer to function (long, pointer to function (int) returning void) returning pointer to int   -  person paxdiablo    schedule 22.06.2011
comment
Кстати, если вы хотите узнать, как это сделать вручную (убер-гик), см. stackoverflow.com/questions/6202203/, который ссылается на cskill.wordpress.com/2010/06/09/   -  person paxdiablo    schedule 22.06.2011
comment
@paxdiablo: в моем typedef была ошибка. я исправил, спасибо! (хотя g++ не скомпилирует, error: ‘f’ declared as function returning an array) — ладно, придется вернуть int **   -  person knittl    schedule 22.06.2011


Ответы (2)


Я думаю, вы ищете https://cdecl.org/.

Вы можете найти саму программу по адресу https://github.com/ridiculousfish/cdecl-blocks.

person iceaway    schedule 22.06.2011
comment
Похоже, он не понимает типы данных Windows (например, HANDLE и т. д.)? - person bayCoder; 22.06.2011
comment
Я сам мало использовал его, но я предполагаю, что он работает только с типами данных, которые являются частью стандарта C. - person iceaway; 22.06.2011
comment
Ссылка не работает, похоже, тот же проект размещен на cdecl.org. Проверено с помощью обратного компьютера, что у них одинаковый пользовательский интерфейс, но, возможно, cdecl.ridiculousfish.com требуется какая-то серверная служба, которая не работает, поэтому простая замена неработающей ссылки версией обратного компьютера не поможет. - person Sahil Singh; 08.09.2019
comment
@SahilSingh Я поправил ссылку. Спасибо за указание на это. - person Rudi; 11.09.2019

Инструмент также доступен по адресу http://cdecl.org.

person knittl    schedule 22.06.2011