4

サードパーティが使用する C++ ライブラリを作成しています。C ライブラリの作成には精通していますが、C++ ライブラリの作成経験はほとんどありません。私が懸念しているのは、C++ ライブラリ API によって提示される追加の問題を考慮する必要があることです。そのような :

  1. API 全体での例外処理。
  2. ライブラリによって作成されたオブジェクトのクラス メンバーのユーザー アクセス
  3. ライブラリによって作成されたオブジェクトのユーザーによる破棄、およびその逆。
  4. 誰が他に何を知っている...

C ライブラリについて考慮しなければならないこと以外に、何を考慮する必要がありますか?

よろしくお願いします

4

2 に答える 2

6

C++ は C よりも複雑な言語であるため、注意が必要な問題が数多くあります。適切なパブリック/プライベート分離、ドキュメント、バージョン管理、下位互換性の維持などを設計する方法など、言語に中立な懸念は常にあります。しかし、const の正確性、テンプレートの使用、例外とリターン コードなど、さまざまな C++ 固有の問題もあります。 、データ メンバーを公開しない、継承の使用、コピー コンストラクターと代入演算子の考慮、ポインターまたは参照の使用、既定の引数、フレンド、インラインの使用など。

完全な開示では、私は「API Design for C++」という本の著者です。私が本を推し進めているように聞こえたくはありませんが、C++ 用の優れた API を設計する方法という、あなたが求めているトピックを正確にカバーしています。本の目次を表示して、検討すべき問題の概要を把握できます。また、サンプルの章には、C++ でより適切なカプセル化を提供する方法として個人的に気に入っている pimpl イディオムの説明が含まれています。

http://www.apibook.com/blog/contents

于 2013-03-27T15:01:40.663 に答える
0

Microsoft はクラス ライブラリの設計ガイドラインを提供していますが、Linux にも同様のガイドラインがあるかどうかはわかりませんが、これらは一般的なガイドラインであり、さまざまなプラットフォームに適用する必要があります。

http://msdn.microsoft.com/en-us/library/czefa0ke(v=vs.71).aspx

于 2013-03-26T12:02:52.750 に答える