2012-01-23 2 views
1

나는 gtk를 배우기 시작했다. 그리고 레퍼런스 매뉴얼을 브라우징 할 때 "typedef struct _GtkWidget GtkWidget"과 같은 많은 typedef를 발견했습니다. 나는 typedef를 알고 있지만, 나는이 문장들의 의미를 이해하지 못한다. 누가 말해 줄 수 있니? 감사!일부 gtk typedef 사용

답변

2

은 구현 세부 사항을 숨기는 것을 의미합니다. typedef는 GtkWidgetopaque data type으로 만듭니다 (실제 struct _GtkWidget은 Gtk + 3.0 이상에서 헤더에 표시되지 않습니다). 구조체의 실제 구성 요소는 응용 프로그램에서 사용할 때 숨겨집니다. 구성 요소 구조 멤버를 조작하려면 접근 자 함수를 사용해야합니다. 이렇게하면 구현이 변경 되어도 응용 프로그램을 다시 작성할 필요가 없습니다.
희망이 도움이됩니다.

+0

그게 중요한 부분입니다. 고마워요! – sniweef

0

단순히 "struct _GtkWidget"에 다른 이름 인 GtkWidget을 제공합니다. 네가 나에게 묻는다면 그것은 네임 스페이스를 오염시키기 때문에 전혀 의미가 없다.