т.е. получается одномерный массив чаров, в котором каждый элемент - двумерный массив указателей на функцию? Без последний квадратных скобок получается вывернутый массив указателей на функцию, а с ними что-то я не понимаю, что выходит :(
Systems built by unsupervised intermediate developers are going to fail for completely different reasons than systems built by juniors. A junior will build a big pile of algorithms that sort of work. A good intermediate will build pages out of “Design Patterns” and “Domain Driven Design”. While those are great books for learning how to build large OO systems, direct application of this sort of theory results in over engineered systems that are flexible in ways that don’t matter, and inflexible in ones that do matter
14 коммент.:
Ну наверное как-то так:
typedef char** array_of_pointer_to_char;
typedef array_of_pointer_to_char (*function_returning_pointer_to_array_of_pointer_to_char);
typedef function_returning_pointer_to_array_of_pointer_to_char* pointer_to_pointer_to_function_returning_pointer_to_array_of_pointer_to_char;
int main(int argc, char *argv[])
{
pointer_to_pointer_to_function_returning_pointer_to_array_of_pointer_to_char *foo[8];
return 0;
}
Все гораздо проще.
char *(*(**foo [][8])())[];
http://www.unixwiz.net/techtips/reading-cdecl.html
> Все гораздо проще.
Действительно. :) Только без инструкции не понятно. :)
> а есть ещё собственно такая программка cdecl, которая как раз и формирует объявление типа, используя такое вот описание
http://cdecl.org/
"Всякое бывало, но так хорошо - в первый раз." (с)
Это просто праздник какой-то :)))
интересный этот cdecl.org
спасибо, пригодился!
А что за хрень выдает cdelc.org в своем третьем примере?
А есть еще варианты?
А откуда картинка взята?
Анонимный
А откуда картинка взята?
Я ее взяла с http://m0riarty.ya.ru/. Откуда он ее взял я не знаю.
char *(*(**foo [][8])())[];
Это точно то, что написано на картинке? смущают последние квадратные скобки
Анонимный
Это точно то, что написано на картинке? смущают последние квадратные скобки
Все правильно, последние квадратные скобки - это последний array
т.е. получается одномерный массив чаров, в котором каждый элемент - двумерный массив указателей на функцию? Без последний квадратных скобок получается вывернутый массив указателей на функцию, а с ними что-то я не понимаю, что выходит :(
Ха, в вижуал си++ не поддерживаются функции, возвращающие массив, потому и смущали скобочки вконце =)
Отправить комментарий