использование некоторых gtk typedef - PullRequest
1 голос
/ 23 января 2012

Я приступил к изучению ГТК.И когда я просматривал справочное руководство, я нашел много typedef, таких как "typedef struct _GtkWidget GtkWidget"Я знаю typedef, но я не совсем понимаю смысл этих утверждений.Кто-нибудь может сказать мне?Спасибо!

Ответы [ 2 ]

2 голосов
/ 23 января 2012

Предназначено для сокрытия подробностей реализации. Typedef делает GtkWidget непрозрачным типом данных (фактический struct _GtkWidget не отображается в заголовках - по крайней мере, начиная с Gtk + 3.0). Фактические составляющие структуры скрыты от вас, когда вы используете их в вашем приложении. Вам нужно будет использовать функции доступа, чтобы манипулировать элементами составной структуры. Таким образом, даже если реализация изменится, вам не придется переписывать приложение.
Надеюсь, это поможет!

0 голосов
/ 23 января 2012

Он просто дает "struct _GtkWidget" другое имя, GtkWidget.Если вы спросите меня, это совершенно бессмысленная вещь, потому что она загрязняет пространство имен.

...