この記事は 2021 年 02 月 03 日に投稿しました。
目次
リンク
1. はじめに
こんにちは、iOS のエディタアプリPWEditorの開発者の二俣です。 今回は業務で使用している C++/CLI でジェネリクスクラスを使用する方法についてです。
2. C++/CLI でジェネリクスクラスを使用する
C++/CLI でジェネリクスクラスを使用するには、以下の様な実装にします。
実装例
using namespace System; // ジェネリクスのクラスを定義します。 generic <typename T> ref class Sample { public: void Func(T param) { // 引数の型名を表示します。 Console::WriteLine(param->GetType()->Name); } }; [STAThreadAttribute] int main() { // int型の場合 Sample<int>^ nSample = gcnew Sample<int>(); int nValue = 0; nSample->Func(nValue); // double型の場合 Sample<double>^ dSample = gcnew Sample<double>(); double dValue = 0.0; dSample->Func(dValue); // String型の場合 Sample<String^>^ sSample = gcnew Sample<String^>(); String^ sValue = String::Empty; sSample->Func(sValue); Console::ReadKey(); return 0; }
実行結果
Int32 Double String
Reference
3. おわりに
前回は
ジェネリクスを関数で使用しましたが、今回はクラスで使用してみました。 使い方はほとんど同じです。
リンク
紹介している一部の記事のコードはGitlabで公開しています。 興味のある方は覗いてみてください。
私が勤務しているニューラルでは、主に組み込み系ソフトの開発を行っております。 弊社製品のハイブリッド OS [Bi-OS][bi-os]は高い技術力を評価されており、特に制御系や通信系を得意としています。 私自身はiOS モバイルアプリやウィンドウズアプリを得意としております。 ソフトウェア開発に関して相談などございましたら、お気軽にご連絡ください。
また一緒に働きたい技術者の方も随時募集中です。 興味がありましたらご連絡ください。
EMAIL : info-nr@newral.co.jp / m-futamata@newral.co.jp TEL : 042-523-3663 FAX : 042-540-1688