7

C++ を学習するための GUI ツールキットを選択しています。オンラインで検索したところ、ほとんどの人が GTK+ よりも C++ に GTKmm を勧めています。それにもかかわらず、GTK+ を使用して作成された C++ アプリケーションをいくつか見てきました。


1. C++ で GTKmm が好まれるのはなぜですか ?
2. GTKmm の代わりにC++アプリケーションに GTK+を使用する場合に直面する制限は何ですか?

4

1 に答える 1

21
  • gtkmm を使用すると、カプセル化、派生、ポリモーフィズムなどの通常の C++ 手法を使用してコードを記述できます。C++ プログラマーとして、これがより明確でより適切に編成されたコードにつながることは、おそらくすでにお気づきでしょう。
  • gtkmm はよりタイプ セーフであるため、コンパイラは、C を使用する場合に実行時にのみ検出されるエラーを検出できます。このように特定の型を使用すると、API がより明確になります。これは、メソッドの宣言。
  • 継承を使用して、新しいウィジェットを派生させることができます。GTK+ C コードでの新しいウィジェットの派生は非常に複雑でエラーが発生しやすいため、ほとんどの C コーダーはそれを行いません。C++ 開発者は、派生が不可欠なオブジェクト指向手法であることを知っています。
  • メンバー インスタンスを使用できるため、メモリ管理が簡素化されます。すべての GTK+ C ウィジェットは、ポインターを使用して処理されます。C++ コーダーとして、ポインタは可能な限り避けるべきであることを知っています。
  • コードが少ない。GTK+ C オブジェクト モデルは、接頭辞付きの関数名とキャスト マクロを使用します。例: gtk_button_set_text(GTK_BUTTON(button), "sometext");gtkmm C++ コードは短く、より明確です。例えば:button.set_text("sometext");
  • GTK+ の一貫性のない参照カウント ポリシーについて心配する必要はありません。

ソース: http://live.gnome.org/gtkmm/FAQ

于 2011-04-11T03:13:34.140 に答える