Windows をターゲットにしていますが、作成している一部の API コードで基本的な C++ 型を使用できない理由がわかりません。私がやりたいことは、文字列と整数を返すメソッドを公開することです。C# の世界では文字列を使用し、Unicode 文字列を使用しますが、VC++ では、std::string、std::wstring、または MFC/ATL CString を使用するオプションがあります。
ユニコードをサポートするために std::wstring のみを使用する必要がありますか、またはビルド設定に基づいてユニコードにコンパイルされる std::string を使用できますか? 私は後者に傾いています。他の文字列型のオブジェクトに Get[Item]AsCString() メソッドを提供したいと思います。
また、整数の代わりに size_t を使用する必要がありますか?
この API は私が使用する予定であり、おそらく C++ GUI に取り組む将来の開発者も使用する予定です。懸念事項を分離する方法です。私の好み:
- 他の開発者にとっての直感性。
- VC++ との上位互換性
- 他の C++ コンパイラとの互換性
- パフォーマンス (これは私にとってはあまり問題ではありませんが、アプリの残りの部分の起動時間が必要です)
ガイドをいただければ幸いです。