私はgtkの学習について設定しました。リファレンスマニュアルを閲覧していたときに、typedef struct _GtkWidget GtkWidgetのような多くのtypedefが見つかりました。私はtypedefを知っていますが、私はこれらの記述の意味をあまり理解していません。誰か教えてくれますか?ありがとう!gtk typedefの使用
1
A
答えて
2
これは、を隠すことを意味し、実装の詳細はです。 typedefはGtkWidget
をopaque data typeにします(実際のstruct _GtkWidget
はGtk + 3.0以降のヘッダーに公開されていません)。構造体の実際の構成要素は、アプリケーションで使用するときに隠されています。構造体メンバを操作するには、アクセサ関数を使用する必要があります。このように実装が変更されたとしても、アプリケーションを書き直す必要はありません。
これが役立つことを願っています!
0
単に "struct _GtkWidget"に別の名前、GtkWidgetを与えます。あなたが私に尋ねるなら、それは名前空間を汚染するので、全く無意味なことです。
関連する問題
- 1. Typedef C Struct:不完全なtypedefの無効な使用
- 2. cでtypedefキーワードを使用
- 3. haskell-gi GTKシグナルの使用
- 4. モノラルGTKでWebKitを使用
- 5. C++ typedefクラスを使用する
- 6. typedefでRcppを使用したコンパイルエラー
- 7. typedefをコンストラクタパラメータで使用する
- 8. gtk app cant gtk + dllsを使用するウィンドウのパス値を参照
- 9. GTK + 2またはGTK + 3を使用したGUIプログラミングの学習ですか?
- 10. GTKをDISPLAYなしで使用する
- 11. GTK + with adaを使用する方法
- 12. cデータフィールドを使用するGTK g_signal_connect
- 13. ヘッダファイル(例:GTK/gtk.h VS GTK-2.0/GTK/gtk.h)
- 14. のtypedef
- 15. RaspberryPi用GO-GTKクロスコンパイル
- 16. gtk Windows用python用2.7パッケージ
- 17. 派生クラスのtypedefのベースへの使用
- 18. 別のクラスのtypedefを循環的に使用する
- 19. テンプレートの特殊化の中でtypedefを使用する
- 20. テンプレートのインスタンスとのexternテンプレート宣言にtypedefを使用して
- 21. 文字配列のtypedefと関数での使用
- 22. GTK
- 23. 関数のtypedefの使い方は?
- 24. C++の厳密なtypedef用のイディオム
- 25. C++ 11には、typedefの対使用して、
- 26. 構造体の宣言にtypedefを使用する理由は?
- 27. GCC互換性のないポインタ型(typedefを使用)
- 28. JavaScriptを使用したときのtypedefエラー
- 29. 複数の.hファイルでtypedef構造体を使用
- 30. typedefを使用したテンプレートの特殊化
これがポイントです!どうもありがとう! – sniweef